DEV Community

Silvio Silva
Silvio Silva

Posted on • Edited on

2 1

Configurando um Cluster Kubernetes em Alta Disponibilidade (4/5)

Continuando o post anterior

Adicionando os outros masters ao Cluster

Agora que o master-1 está pronto, podemos adicionar o master-2 e o master-3 ao Control Plane usando o comando kubeadm join com o parâmetro --control-plane.

Para montar o comando de join, precisaremos dos valores dos seguintes tokens gerados durante a inicialização do master-1:

  • token
  • discovery-token-ca-cert-hash
  • certificate-key

Execute o comando abaixo para obter os valores dos tokens a partir do arquivo de log gerado durante a inicialização do master-1:

KUBEADM_LOG_FILE="${HOME}/kubeadm-init.log" && \
grep "\-\-certificate-key" "${KUBEADM_LOG_FILE}" --before 2 | grep \
  --only-matching \
  --extended-regexp "\-\-.*" | sed 's/\-\-control-plane //; s/^/  /'

A saída do comando anterior deve se parecer com isso:

Alt Text

Você deve copiar as três últimas linhas como as que listei abaixo:

  --token wx6o8y.mdmkxmj9gfeiq1fe \
  --discovery-token-ca-cert-hash sha256:65446ecd54074326caff65fdbbac91118dd591593930eae0842f5ea2a72e2bdf \
  --certificate-key cfcf9ea9ee8adafd9210858fa8f344596888d1041ef96cce6125b4e960cd3e41

Monte o comando de join adicionando as 3 linhas copiadas anteriormente como no exemplo abaixo:

NODE_NAME=$(hostname --short) && \
LOCAL_IP_ADDRESS=$(grep ${NODE_NAME} /etc/hosts | head -1 | awk '{ print $1 }') && \
echo "" && \
echo "NODE_NAME..................: ${NODE_NAME}" && \
echo "LOCAL_IP_ADDRESS...........: ${LOCAL_IP_ADDRESS}" && \
sudo kubeadm join lb:6443 \
  --v 3 \
  --control-plane \
  --node-name "${NODE_NAME}" \
  --apiserver-advertise-address "${LOCAL_IP_ADDRESS}" \
  --token wx6o8y.mdmkxmj9gfeiq1fe \
  --discovery-token-ca-cert-hash sha256:65446ecd54074326caff65fdbbac91118dd591593930eae0842f5ea2a72e2bdf \
  --certificate-key cfcf9ea9ee8adafd9210858fa8f344596888d1041ef96cce6125b4e960cd3e41

Executando o comando no master-2

Você deve mudar para o painel do master-2 e pode fazer isso usando C-b + seta-para-baixo + seta-para-direita ou ativar o modo mouse com C-b m e simplesmente clicar no painel.

Tanto faz em qual master (master-2 ou master-3) você executará o comando de join primeiro e inclusive pode executar no master-3 enquanto ainda estiver executando no master-2.

Alt Text

Novos masters adicionados e prontos:

Alt Text

Nota sobre etcd

Durante o processo que deve levar menos de 1 minuto, você pode notar uma mensagem com a informação de que o etcd leader mudou.

Isso acontece porque nesta configuração o etcd cluster é criado nos mesmos nodes do Control Plane, isto é, usando os masters (configuração chamada de stacked).

O cluster etcd precisa de no mínimo 3 integrantes para que possa haver a "eleição" do líder.

Como novos integrantes desse cluster estão sendo incluídos é esperado que essa "eleição" ocorra.

Mais detalhes sobre a configuração do etcd em modo stacked podem ser encontradas aqui.


Próximo: Adicionando os workers ao Cluster

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs