Adicionar ou remover pools de nós de um cluster

Em clusters do Anthos em bare metal, você adiciona ou remove pools de nós em um cluster criando ou excluindo recursos personalizados do pool de nós. Use kubectl para fazer alterações no pool de nós.

Você só pode adicionar ou excluir pools de nós de trabalho em um cluster existente. Os pools de nós do plano de controle e do balanceador de carga adicionados durante a criação do cluster são essenciais para a função do cluster e não podem ser excluídos.

Verificar o status do nó

Antes de adicionar ou remover pools de nós, use kubectl get para verificar o status dos nós e respectivos pools. Para mais informações, incluindo um comando e uma resposta de amostra, consulte Como visualizar o status do nó.

Adicionar um novo pool de nós

Adicione novos pools de nós criando um novo recurso nodepools.baremetal.cluster.gke.io no cluster de administrador. Por exemplo, especifique a seguinte configuração para adicionar um novo pool de nós chamado "nodepool- new" com endereços IP de nó 10.200.0.7 e 10.200.0.8:

  apiVersion: baremetal.cluster.gke.io/v1
  kind: NodePool
  metadata:
    name: node-pool-new
    namespace: cluster-my-cluster
  spec:
    clusterName: my-cluster
    nodes:
    - address: 10.200.0.7
    - address: 10.200.0.8
    taints:
    - key: <key1>
      value: <value1>
      effect: NoSchedule
    labels:
      key1: <value1>
      key2: <value2>

Em clusters do Anthos em versões bare metal 1.7.0 e posteriores, as configurações NodePool.spec.taints e NodePool.spec.labels são reconciliadas em nós. Na versão 1.7.0, todos os taints e rótulos adicionados diretamente são removidos. A partir dos clusters do Anthos em bare metal na versão 1.7.1 e posteriores, o plano de controle não remove mais os taints e rótulos que são adicionados diretamente durante o processo de sincronização.

Para ignorar essa etapa da reconciliação, anote o nó com baremetal.cluster.gke.io/label-taint-no-sync.

O recurso de pool de nós precisa ser criado no mesmo namespace que o cluster associado e fazer referência ao nome do cluster no campo spec.clusterName.

Armazene a configuração em um arquivo chamado node-pool-new.yaml. Aplique a configuração ao cluster de administrador com o comando a seguir. Use a sinalização --kubeconfig para especificar explicitamente a configuração do cluster de administrador, se necessário:

  kubectl apply -f node-pool-new.yaml

Remover um pool de nós

Remova os pools de nós com kubectl delete. Por exemplo, para remover o pool de nós adicionado na seção anterior, node-pool-new, use o seguinte comando:

  kubectl -n cluster-my-cluster delete nodepool node-pool-new

A remoção de um pool de nós de trabalho em um cluster pode causar interrupções no pod. Se houver um Orçamento de interrupção de pod (PDB, na sigla em inglês) em vigor, você poderá ser impedido de remover um pool de nós. Para mais informações sobre políticas de interrupção de pods, consulte Como remover nós bloqueados pelo Orçamento de interrupção de pod.