Como adicionar ou remover nós em um cluster

Nos clusters do Anthos em bare metal, você adiciona ou remove nós em um cluster editando as definições do pool de nós do cluster. Use o comando kubectl para alterar essas definições.

Há três tipos de pools de nós nos clusters do Anthos em bare metal: plano de controle, balanceador de carga e pools de nós de trabalho. Você edita os nós do plano de controle e do balanceador de carga por meio das definições nos recursos de cluster associados e edita diretamente as definições do pool de nós de trabalho.

Como visualizar o status do nó

Também é possível ver o status dos nós e os respectivos pools com o comando kubectl get.

Por exemplo, o comando a seguir mostra o status dos pools de nós no namespace do cluster my-cluster:

 kubectl -n my-cluster get nodepools.baremetal.cluster.gke.io

O sistema retorna resultados semelhantes aos seguintes:

  NAME                    READY   RECONCILING   STALLED   UNDERMAINTENANCE   UNKNOWN
  my-cluster              3       0             0         0                  0
  my-cluster-lb           2       0             0         0                  0
  np1                     3       0             0         0                  0

Se você precisar de mais informações sobre como diagnosticar seus clusters, consulte Como diagnosticar e redefinir clusters.

Como alterar os nós do plano de controle

Você adiciona ou remove nós do plano de controle editando a matriz spec.controlPlane.nodePoolSpec.nodes de endereços de um cluster na definição do recurso do cluster.

Observe que editar diretamente o pool de nós do plano de controle não funciona, porque a especificação do cluster é a definição autoritativa do pool de nós do plano de controle.

Em uma configuração de alta disponibilidade (HA, na sigla em inglês), é necessário um número ímpar de pools de nós do plano de controle (três ou mais) para estabelecer um quórum. Assim, se um plano de controle falhar, outros assumirão o controle. Se você tiver um número par de nós temporariamente durante a adição ou remoção de nós para manutenção ou substituição, sua implantação manterá a alta disponibilidade, desde que você tenha quórum suficiente.

Como alterar os nós do balanceador de carga

É possível adicionar ou remover os pools de nós do balanceador de carga de um cluster editando a matriz spec.loadBalancer.nodePoolSpec.nodes de endereços do cluster no arquivo de configuração do cluster.

Como alterar os nós de trabalho

É possível adicionar ou remover nós de trabalho diretamente com o comando kubectl. Os pools de nós de trabalho precisam ter pelo menos um nó pretendido.

No exemplo a seguir, o comando exclui um pool de nós chamado np1, em que a variável do namespace do cluster é my-cluster:

  kubectl -n my-cluster delete nodepool np1
 

Da mesma forma, os pools de nós podem ser redimensionados editando a matriz de endereços spec.nodes.

Quando você remove nós de um cluster, eles primeiro são drenados de todos os pods. Os nós não serão removidos do cluster se não for possível reprogramar os pods em outros nós. A remoção de nós remove apenas o nó do plano de controle. O conteúdo do nó não é redefinido.

O comando kubectl edit a seguir permite editar e confirmar alterações para o namespace do cluster my-cluster e o pool de nós np1:

  kubectl -n my-cluster edit nodepool np1