Instale o Kubernetes com o kubespray
Instruções passo a passo
Como fazer: instalar o Kubernetes usando o Kubespray, incluindo a configuração do ambiente, a configuração do inventário e a execução dos playbooks do Ansible.

Pré-requisitos
Requisitos de Hardware e Software
- Certifique-se de ter várias máquinas (pelo menos 3 nós: 1 master e 2 workers) com as seguintes especificações:
- Ubuntu 16.04/18.04 ou CentOS 7 instalado.
- Pelo menos 2 GB de RAM por máquina (mais RAM é recomendado para clusters maiores).
- Conectividade de rede e acesso SSH da máquina de controle do Kubespray para cada nó.
- Para alta disponibilidade, considere nós com 16 GB de RAM, 100 GB de disco e 6 núcleos de CPU.
Configuração da Máquina de Controle
-
Instale o Git, caso ainda não esteja presente:
sudo apt install git-all -
Instale o Python (2.7 ou 3.5+) e o pip:
sudo apt update sudo apt install python3 python3-pip -
Instale o Ansible e outras dependências. O Kubespray fornece um script para lidar com isso:
git clone https://github.com/kubernetes-sigs/kubespray.git cd kubespray git checkout release-2.20 # Opcional: Verifique uma versão estável python3 -m venv venv # Crie um ambiente virtual Python source venv/bin/activate # Ative o ambiente virtual pip install -r requirements.txt # Instale o Ansible e outras dependências
Configurar o Inventário
-
Copie o inventário de exemplo:
cp -r inventory/sample inventory/mycluster -
Edite o arquivo
inventory/mycluster/hosts.inipara adicionar seus nós:[all] node1 ansible_host=10.10.1.3 ansible_user=ubuntu node2 ansible_host=10.10.1.4 ansible_user=ubuntu node3 ansible_host=10.10.1.5 ansible_user=ubuntu [kube-master] node1 [kube-node] node2 node3 -
Se você tiver um usuário diferente, substitua
ubuntupelo seu usuário. -
Você também pode usar o script
inventory_builderpara gerar o arquivo de inventário:declare -a IPS=(10.10.1.3 10.10.1.4 10.10.1.5) HOST_PREFIX=dcm-cp- KUBE_CONTROL_HOSTS=3 CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
Personalizar Configuração
-
Personalize as configurações do cluster Kubernetes no arquivo
inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml. Por exemplo:kube_network_plugin: flannel kubeconfig_localhost: true -
Para alta disponibilidade, configure um VIP e um balanceador de carga:
# Em inventory/mycluster/group_vars/all/all.yml kube_vip_arp_enabled: true kube_vip_enabled: true kube_vip_controlplane_enabled: true kube_vip_address: 10.7.12.250 # Atualize com o VIP correto kube_vip_interface: eno1 # Atualize com a interface correta
Implantar o Cluster
- Execute o playbook do Ansible para implantar o Kubernetes:
ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v --become --become-user=root --private-key=~/.ssh/private_key
Pós-Implantação
- Uma vez que a implantação esteja concluída, você encontrará um arquivo
kubeconfigno diretórioinventory/mycluster/artifacts. Este arquivo é necessário para interagir com seu cluster Kubernetes usando okubectl.export KUBECONFIG=inventory/mycluster/artifacts/admin.conf kubectl get nodes
Solução de Problemas e Acesso
- Para solucionar problemas ou acessar seu cluster, certifique-se de que o binário
kubectlesteja instalado em sua máquina de controle ou em qualquer máquina de onde você planeja gerenciar o cluster. - Se encontrar problemas, como nós de trabalho não estando prontos ou outros problemas de agendamento de pods, verifique os logs e ajuste as configurações conforme necessário.