Forzare la rimozione dei nodi danneggiati nei cluster Anthos su Bare Metal

A volte, per rimuovere un nodo rotto per la riparazione o la sostituzione, potresti dover forzarne la rimozione dal cluster. La rimozione forzata rimuove solo il nodo danneggiato dal punto di vista della gestione del cluster. La rimozione forzata ignora i job di pulizia per i componenti installati sul nodo stesso. Dopo il ripristino del nodo, esegui bmctl reset nodes per ripulire i componenti installati sul nodo in modo che possa essere riutilizzato.

Rimozione forzata dei nodi

I metodi seguenti si applicano sia ai nodi del piano di controllo sia ai nodi worker. Per i nodi del piano di controllo, i controller nei cluster Anthos su Bare Metal si occupano anche della contabilità delle iscrizioni a etcd.

Uso: bmctl

Puoi utilizzare bmctl per rimuovere il nodo dal cluster. Normalmente, bmctl reset attiva un job di ripristino per tentare di pulire i componenti installati sul nodo. Per rimuovere il nodo dal cluster senza bloccarlo durante la pulizia dei pacchetti installati, puoi eseguire il comando bmctl con il flag --force:

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

Sostituisci quanto segue:

  • NODE_IP: l'indirizzo IP del nodo da reimpostare, ad esempio 10.200.0.8.

  • ADMIN_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi.

Uso: kubectl

Nei cluster Anthos su Bare Metal, puoi aggiungere un'annotazione per contrassegnare un nodo per la rimozione forzata.

Dopo aver rimosso il nodo dal pool di nodi padre, esegui il comando seguente per annotare la macchina in errore corrispondente con l'annotazione baremetal.cluster.gke.io/force-remove. Il valore dell'annotazione stessa non è importante:

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

I cluster Anthos su Bare Metal rimuovono correttamente il nodo.