Como forçar a remoção de nós corrompidos nos clusters do Anthos em bare metal

Às vezes, para remover um nó corrompido para reparo ou substituição, talvez seja necessário forçar a remoção dele do cluster. A remoção forçada apenas remove o nó corrompido do ponto de vista do gerenciamento de clusters. A remoção forçada ignora jobs de limpeza dos componentes instalados no próprio nó. Após a recuperação do nó, você executa bmctl reset nodes para limpar os componentes instalados no nó, para que ele possa ser reutilizado.

Como forçar a remoção de nós

Os métodos a seguir se aplicam aos nós do plano de controle e nós de trabalho. Para os nós do plano de controle, os controladores em clusters do Anthos em bare metal também cuidam da contabilidade de assinaturas etcd.

Como usar o bmctl

É possível usar bmctl para remover o nó do cluster. Normalmente, bmctl reset aciona um job de redefinição para tentar limpar os componentes instalados no nó. Para remover o nó do cluster sem ser bloqueado na limpeza de pacotes instalados, execute o comando bmctl com a sinalização --force:

bmctl reset nodes --addresses NODE_IP --force --kubeconfig ADMIN_KUBECONFIG --cluster CLUSTER_NAME

Substitua:

  • NODE_IP: o endereço IP do nó a ser redefinido, como 10.200.0.8.

  • ADMIN_KUBECONFIG: o caminho até o arquivo kubeconfig do cluster de administrador.

  • CLUSTER_NAME: o nome do cluster de destino que contém os nós.

Como usar o kubectl

Nos clusters do Anthos em Bare Metal, é possível adicionar uma anotação que marca um nó para a remoção forçada.

Após remover o nó do pool de nós pai, execute o comando a seguir para anotar a máquina com falha correspondente com a anotação baremetal.cluster.gke.io/force-remove. O valor da anotação em si não importa:

kubectl --kubeconfig ADMIN_KUBECONFIG -n CLUSTER_NAMESPACE \
  annotate machine 10.200.0.8 baremetal.cluster.gke.io/force-remove=true

Os clusters do Anthos em bare metal removem o nó.