Архивы K8s - Заметки Эникейщика https://7d3.ru/wiki/tag/k8s Или Рутинная Работа Системного Администратора Fri, 05 Jun 2020 18:26:04 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.9.5 [K8s] Установка Kubernetes с помощью Kubespray (Terraform+Ansible) https://7d3.ru/wiki/1124 https://7d3.ru/wiki/1124#respond Fri, 05 Jun 2020 18:26:04 +0000 https://7d3.ru/?p=1124 Задача: Учебная задача создать кластер K8s в AWS на обычных инстансах не используя EKS [crayon-6a71226759fa8555866007/] Параметры подключения к AWS [crayon-6a71226759fb3915977303/] Параметр кластера [crayon-6a71226759fb6941632965/] [crayon-6a71226759fb7848824155/] Указываем дистрибутив для виртуалок. Ищем и заменяем в файле variables.tf [crayon-6a71226759fb9956735581/] [crayon-6a71226759fba124488875/] Ставим K8s [crayon-6a71226759fbb211162187/]  

Сообщение [K8s] Установка Kubernetes с помощью Kubespray (Terraform+Ansible) появились сначала на Заметки Эникейщика.

]]>
Задача: Учебная задача создать кластер K8s в AWS на обычных инстансах не используя EKS

sudo apt update
sudo apt install unzip

#terraform
wget https://releases.hashicorp.com/terraform/0.12.26/terraform_0.12.26_linux_amd64.zip
unzip terraform_0.12.26_linux_amd64.zip
sudo mv terraform /usr/local/bin/

#kubespray
git clone https://github.com/kubernetes-sigs/kubespray.git && cd kubespray
sudo apt install python3-pip
pip3 install -r requirements.txt
PATH=\$PATH:~/.local/bin && echo "PATH=\$PATH:~/.local/bin" >> ~/.bashrc

Параметры подключения к AWS

cat <<EOF > ./contrib/terraform/aws/credentials.tfvars
#AWS Access Key
AWS_ACCESS_KEY_ID = ""
#AWS Secret Key
AWS_SECRET_ACCESS_KEY = ""
#EC2 SSH Key Name
AWS_SSH_KEY_NAME = "AWS-test"
#AWS Region
AWS_DEFAULT_REGION = "eu-central-1"
EOF

Параметр кластера

cat <<EOF > ./contrib/terraform/aws/terraform.tfvars
#Global Vars
aws_cluster_name = "devtest"

#VPC Vars
aws_vpc_cidr_block       = "10.250.192.0/18"
aws_cidr_subnets_private = ["10.250.192.0/20", "10.250.208.0/20"]
aws_cidr_subnets_public  = ["10.250.224.0/20", "10.250.240.0/20"]

#Bastion Host
aws_bastion_size = "t2.micro"


#Kubernetes Cluster

aws_kube_master_num  = 3
aws_kube_master_size = "t2.macro"

aws_etcd_num  = 3
aws_etcd_size = "t2.micro"

aws_kube_worker_num  = 3
aws_kube_worker_size = "t2.micro"

#Settings AWS ELB

aws_elb_api_port                = 6443
k8s_secure_api_port             = 6443
kube_insecure_apiserver_address = "0.0.0.0"

default_tags = {
  #  Env = "devtest"
  #  Product = "kubernetes"
}

inventory_file = "../../../inventory/hosts"

EOF

cd ~/kubespray/contrib/terraform/aws/

Указываем дистрибутив для виртуалок. Ищем и заменяем в файле variables.tf

vim variables.tf
data "aws_ami" "distro" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] #Ubuntu
}

terraform plan -out myplan -var-file=credentials.tfvars
terraform apply "myplan"

Ставим K8s

cd ~/kubespray
cat inventory/hosts
ansible-playbook -i ./inventory/hosts ./cluster.yml -e ansible_user=ubuntu -b --become-user=root --flush-cache -e ansible_ssh_private_key_file=<path to EC2 SSH private key file>

 

Сообщение [K8s] Установка Kubernetes с помощью Kubespray (Terraform+Ansible) появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/1124/feed 0