Introdução
Kubernetes é uma poderosa plataforma de código aberto que automatiza o gerenciamento de aplicações em contêineres. O Kubeadm é uma ferramenta que simplifica a instalação do Kubernetes. Neste tutorial, você aprenderá a configurar um cluster Kubernetes com Kubeadm no Debian 11.
Pré-requisitos
- Dois ou mais servidores rodando Debian 11 (um mestre e pelo menos um nó de trabalho).
- Acesso root ou privilégios sudo em todos os servidores.
- Rede configurada entre os servidores.
- Um servidor VPS para cada nó, garantindo desempenho e escalabilidade.
Passo 1: Atualizar os pacotes do sistema
Antes de começar, atualize os pacotes do sistema em todos os servidores:
sudo apt update && sudo apt upgrade -y
Passo 2: Desabilitar o Swap
Kubernetes requer que o swap esteja desabilitado. Execute o comando abaixo para desabilitar o swap temporariamente:
sudo swapoff -a
Para desativar permanentemente, edite o arquivo /etc/fstab e comente a linha referente ao swap:
sudo nano /etc/fstab
Passo 3: Instalar pacotes necessários
Instale pacotes necessários como o apt-transport-https, o curl, e o ca-certificates:
sudo apt install apt-transport-https ca-certificates curl -y
Passo 4: Adicionar o repositório do Kubernetes
Adicione a chave GPG e o repositório do Kubernetes:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
Atualize a lista de pacotes:
sudo apt update
Passo 5: Instalar Kubeadm, Kubelet e Kubectl
Agora, instale o kubeadm, kubelet e kubectl com o seguinte comando:
sudo apt install -y kubeadm kubelet kubectl
Habilite o kubelet para iniciar automaticamente no boot:
sudo systemctl enable kubelet
Passo 6: Configurar parâmetros do kernel
Configure os parâmetros do kernel necessários para o Kubernetes. Crie um arquivo de configuração:
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
Carregue as configurações:
sudo sysctl --system
Passo 7: Inicializar o cluster no nó mestre
No servidor mestre, inicie o cluster com o seguinte comando. O parâmetro --pod-network-cidr define a rede de pods:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
Após a inicialização, você verá instruções para configurar o kubectl para o usuário atual. Execute os comandos abaixo para configurar o acesso ao cluster:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Passo 8: Instalar uma rede de pod (Calico)
Agora, instale a rede de pods no cluster. Vamos usar o Calico, que é uma solução de rede popular para Kubernetes:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Passo 9: Adicionar nós de trabalho ao cluster
Para adicionar nós de trabalho ao cluster, obtenha o comando de junção no servidor mestre:
kubeadm token create --print-join-command
Este comando irá gerar um token e instruções para adicionar os nós de trabalho. No nó de trabalho, execute o comando gerado para unir o nó ao cluster.
Passo 10: Verificar o cluster
Verifique se os nós estão conectados e funcionando corretamente no servidor mestre:
kubectl get nodes
Você deve ver o mestre e os nós de trabalho listados como “Ready”.
Conclusão
Parabéns! Você configurou com sucesso um cluster Kubernetes usando Kubeadm no Debian 11. Com o cluster em funcionamento, agora você pode começar a implantar e gerenciar contêineres em escala. Se precisar de um ambiente estável e escalável, considere usar um servidor VPS de alto desempenho.