Rimozione forzata di nodi non funzionanti in Cluster Anthos on bare metal

A volte, per rimuovere un nodo rotto per una riparazione o una sostituzione, potresti doverne forzare la rimozione dal cluster. La rimozione forzata forza la rimozione del nodo rotto solo dal punto di vista della gestione del cluster. Forza la rimozione dei job di pulizia dei 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.

Forza la rimozione dei nodi

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

Uso: bmctl

Puoi utilizzare bmctl per rimuovere il nodo dal cluster. Normalmente, bmctl reset attiva un job di reset per tentare di ripulire i componenti installati sul nodo. Per rimuovere il nodo dal cluster senza bloccare 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

Cluster Anthos on bare metal rimuove il nodo correttamente.