Se i nodi nei cluster Anthos su Bare Metal non funzionano, ad esempio a causa di una configurazione errata della rete, dello spazio di archiviazione o del sistema operativo, vuoi ripristinare lo stato di integrità del cluster. Dopo aver ripristinato lo stato di integrità del cluster, puoi risolvere l'errore del nodo.
Questo documento mostra come eseguire il ripristino dagli scenari di errore dei nodi reimpostando un nodo e, se necessario, rimuovendolo con forza.
Se vuoi aggiungere o rimuovere nodi da un cluster in circostanze normali, consulta Aggiornare i cluster.
Panoramica
Quando si verifica un errore del nodo, a volte non puoi eseguire comandi di reset sui nodi perché il nodo potrebbe non essere raggiungibile. Potresti dover rimuovere forzatamente il nodo dal cluster.
Quando reimposti correttamente un nodo e aggiorni il cluster, si verificano le seguenti azioni:
- Il nodo viene reimpostato, in modo simile a
kubeadm reset
, e la macchina ritorna allo stato preinstallato. - I riferimenti correlati al nodo vengono rimossi dalle risorse personalizzate del pool di nodi e del cluster.
Nodo worker
Per rimuovere un nodo da un cluster, prova innanzitutto a rimuoverlo in modo pulito:
Prova a ripristinare il nodo in modo pulito. Una volta reimpostato, il nodo viene rimosso dal cluster:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Sostituisci i seguenti valori:
COMMA_SEPARATED_IP
: gli indirizzi IP dei nodi da reimpostare, ad esempio10.200.0.8,10.200.0.9
.CLUSTER_NAME
: il nome del cluster di destinazione che contiene i nodi con errori.ADMIN_KUBECONFIG
: il percorso del file kubeconfig del cluster di amministrazione.
Ora puoi diagnosticare il nodo e correggere eventuali configurazioni errate che hanno causato l'errore iniziale. Salta i passaggi rimanenti di questa sezione.
Se il passaggio precedente per il ripristino del nodo ha esito negativo, puoi rimuovere con la forza il nodo dal cluster. Questa rimozione forzata forza il passaggio precedente che esegue i comandi di reimpostazione e viene eseguito solo il passaggio per rimuovere i riferimenti correlati al nodo dalle risorse personalizzate del pool di nodi e del cluster:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG \ --force
Ora puoi diagnosticare il nodo e correggere eventuali configurazioni errate che hanno causato l'errore iniziale.
Se hai rimosso forzatamente il nodo dal cluster dei nodi nel passaggio precedente, esegui di nuovo il comando
bmctl reset
per reimpostare i nodi:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Guasto del nodo del piano di controllo singolo
Il processo è identico a quello utilizzato per i nodi worker. Per i nodi del piano di controllo, bmctl
pulisce anche l'appartenenza etcd
.
Per rimuovere un nodo da un cluster, prova innanzitutto a rimuoverlo in modo pulito:
Prova a ripristinare il nodo in modo pulito. Una volta reimpostato, il nodo viene rimosso dal cluster:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Sostituisci i seguenti valori:
COMMA_SEPARATED_IP
: gli indirizzi IP dei nodi da reimpostare, ad esempio10.200.0.8,10.200.0.9
.CLUSTER_NAME
: il nome del cluster di destinazione che contiene i nodi con errori.ADMIN_KUBECONFIG
: il percorso del file kubeconfig del cluster di amministrazione.
Ora puoi diagnosticare il nodo e correggere eventuali configurazioni errate che hanno causato l'errore iniziale. Salta i passaggi rimanenti di questa sezione.
Se il passaggio precedente per il ripristino del nodo ha esito negativo, puoi rimuovere con la forza il nodo dal cluster. Questa rimozione forzata forza il passaggio precedente che esegue i comandi di reimpostazione e viene eseguito solo il passaggio per rimuovere i riferimenti correlati al nodo dalle risorse personalizzate del pool di nodi e del cluster:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG \ --force
Ora puoi diagnosticare il nodo e correggere eventuali configurazioni errate che hanno causato l'errore iniziale.
Se hai rimosso forzatamente il nodo dal cluster dei nodi nel passaggio precedente, esegui di nuovo il comando
bmctl reset
per reimpostare i nodi:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Quorum perso nel piano di controllo ad alta disponibilità
Se troppi nodi dei piani di controllo in un cluster ad alta disponibilità entrano in uno stato di errore, il cluster perde il quorum e diventa non disponibile.
Per recuperare un cluster che ha perso il quorum, esegui questo comando su un nodo integro rimanente:
bmctl restore --control-plane-node CONTROL_PLANE_NODE \ --cluster CLUSTER_NAME \ [--kubeconfig KUBECONFIG_FILE]
Sostituisci i seguenti valori:
CONTROL_PLANE_NODE
: gli indirizzi IP di un nodo integro che rimane parte del cluster.CLUSTER_NAME
: il nome del cluster di destinazione che contiene i nodi con errori.KUBECONFIG_FILE
: se recuperi un cluster utente, il percorso del file kubeconfig del cluster utente.
Dopo aver recuperato i nodi non riusciti, esegui il comando
bmctl reset
per reimpostarli:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ [--kubeconfig KUBECONFIG_FILE]
Sostituisci i seguenti valori:
COMMA_SEPARATED_IP
: gli indirizzi IP dei nodi da reimpostare, ad esempio10.200.0.8,10.200.0.9
.CLUSTER_NAME
: il nome del cluster di destinazione che contiene i nodi con errori.KUBECONFIG_FILE
: il percorso del file kubeconfig del cluster di amministrazione.
Se i nodi non riusciti facevano parte dei pool di nodi del bilanciatore del carico, dopo il ripristino potrebbero contendersi l'indirizzo IP virtuale del piano di controllo e rendere instabile il nuovo cluster. Esegui i comandi di ripristino sui nodi con errori il prima possibile dopo il ripristino dei nodi.
Passaggi successivi
Per maggiori informazioni su come aggiungere o rimuovere nodi da un cluster in caso di errore e verifica lo stato del nodo, consulta Aggiornare i cluster.