DEV Community

Silvio Silva
Silvio Silva

Posted on • Edited on

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

Top comments (0)