O Kubernetes é uma plataforma de orquestração de contêineres de código aberto, e o Kubeadm é uma ferramenta que facilita a criação de um cluster Kubernetes. Neste tutorial, você aprenderá a configurar um cluster Kubernetes no Ubuntu 22.04 utilizando o Kubeadm.
Requisitos
- Ubuntu 22.04 em todos os nós (máquinas)
- Usuário com privilégios sudo em todas as máquinas
- Conectividade de rede entre todos os nós
- Ao menos 2 GB de RAM em cada nó
- Servidor VPS
Passo 1: Atualizar o sistema
Antes de começar, certifique-se de que seu sistema está atualizado em todos os nós do cluster:
sudo apt update && sudo apt upgrade -y
Passo 2: Desativar o Swap
O Kubernetes exige que o swap esteja desativado. Para desativá-lo temporariamente, execute:
sudo swapoff -a
Para desativá-lo permanentemente, edite o arquivo /etc/fstab e comente a linha que menciona o swap:
sudo nano /etc/fstab
Passo 3: Instalar o Docker
O Kubernetes utiliza o Docker como seu runtime padrão de contêiner. Instale o Docker em todos os nós:
sudo apt install docker.io -y
Inicie e habilite o Docker para iniciar no boot:
sudo systemctl enable --now docker
Passo 4: Instalar o Kubeadm, Kubelet e Kubectl
Adicione a chave GPG do repositório do Kubernetes:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Adicione o repositório Kubernetes:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Instale o Kubeadm, Kubelet e Kubectl em todos os nós:
sudo apt install kubeadm kubelet kubectl -y
Marque os pacotes para que não sejam atualizados automaticamente:
sudo apt-mark hold kubeadm kubelet kubectl
Passo 5: Inicializar o Nó Mestre
No nó mestre, inicialize o cluster Kubernetes usando o Kubeadm:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
Após a execução bem-sucedida, você verá instruções para configurar o kubectl para o usuário atual:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Passo 6: Instalar a Rede de Pod
O Kubernetes exige uma rede de Pod para permitir que os contêineres se comuniquem entre si. Instale o plugin de rede Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Passo 7: Adicionar Nós de Trabalhadores ao Cluster
No nó mestre, você verá um comando kubeadm join que deve ser executado nos nós de trabalhadores. O comando terá um aspecto semelhante a este:
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
Execute esse comando em cada nó de trabalhador para unir-se ao cluster.
Passo 8: Verificar o Cluster
No nó mestre, verifique se os nós de trabalhadores foram adicionados com sucesso:
kubectl get nodes
Você deverá ver uma lista de todos os nós do cluster com o status Ready.
Conclusão
Você configurou com sucesso um cluster Kubernetes no Ubuntu 22.04 usando o Kubeadm. Agora, você pode começar a implantar seus aplicativos em contêineres.
Para garantir que seu cluster tenha alta disponibilidade e escalabilidade, recomenda-se usar um servidor VPS, o que proporciona maior controle e flexibilidade.