Reimposta un nodo non riuscito in GKE su Bare Metal

Se i nodi in GKE su Bare Metal presentano errori, ad esempio a causa di errori di configurazione dello spazio di archiviazione, della rete o del sistema operativo, vuoi ripristinare in modo efficiente l'integrità del cluster. Dopo aver ripristinato l'integrità del cluster, puoi risolvere l'errore del nodo.

Questo documento mostra come ripristinare gli scenari di errore dei nodi reimpostando un nodo e rimuovendolo forzatamente, se necessario.

Se vuoi aggiungere o rimuovere nodi da un cluster in circostanze normali in cui non si sono verificati errori di un nodo, consulta Aggiornare i cluster.

Panoramica

In caso di errore di un nodo, a volte non è possibile eseguire i comandi di reimpostazione sui nodi, poiché quest'ultimo potrebbe essere irraggiungibile. Potresti dover rimuovere forzatamente il nodo dal cluster.

Quando reimposti un nodo e aggiornare il cluster in modo pulito, si verificano le seguenti azioni:

  1. Il nodo viene reimpostato, in modo simile a kubeadm reset, e la macchina torna allo stato preinstallato.
  2. I relativi riferimenti al nodo vengono rimossi dal pool di nodi e dalle risorse personalizzate del cluster.

Nodo worker

Per rimuovere un nodo da un cluster, prova innanzitutto a rimuoverlo in modo pulito:

  1. Prova a reimpostare il nodo in modo pulito. Dopo la reimpostazione, 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 esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi non riusciti.
    • 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 gli altri passaggi di questa sezione.

  2. Se il passaggio precedente per la reimpostazione del nodo non va a buon fine, puoi rimuovere forzatamente il nodo dal cluster. Questa rimozione forzata ignora il passaggio precedente relativo all'esecuzione dei comandi di reimpostazione ed esegue solo il passaggio per rimuovere i relativi riferimenti al nodo dal pool di nodi e dalle risorse personalizzate 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.

  3. Se hai rimosso forzatamente il nodo dal cluster di 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
    

Errore del nodo del piano di controllo singolo

Il processo è lo stesso utilizzato per i nodi worker. Per i nodi del piano di controllo, bmctl pulisce anche l'appartenenza a etcd.

Per rimuovere un nodo da un cluster, prova innanzitutto a rimuoverlo in modo pulito:

  1. Prova a reimpostare il nodo in modo pulito. Dopo la reimpostazione, 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 esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi non riusciti.
    • 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 gli altri passaggi di questa sezione.

  2. Se il passaggio precedente per la reimpostazione del nodo non va a buon fine, puoi rimuovere forzatamente il nodo dal cluster. Questa rimozione forzata ignora il passaggio precedente relativo all'esecuzione dei comandi di reimpostazione ed esegue solo il passaggio per rimuovere i relativi riferimenti al nodo dal pool di nodi e dalle risorse personalizzate 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.

  3. Se hai rimosso forzatamente il nodo dal cluster di 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 del piano di controllo in un cluster ad alta disponibilità entrano in uno stato di errore, il cluster perde il quorum e non è più disponibile.

  1. 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 all'interno del cluster.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi non riusciti.
    • KUBECONFIG_FILE: in caso di recupero di un cluster utente, il percorso al file kubeconfig del cluster utente.
  2. Dopo aver recuperato i nodi non riusciti, esegui il comando bmctl reset per reimpostare i nodi:

    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 esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi non riusciti.
    • KUBECONFIG_FILE: il percorso del file kubeconfig del cluster di amministrazione.

    Se i nodi guasti facessero parte dei pool di nodi del bilanciatore del carico, dopo il recupero dei nodi potrebbero competere per l'indirizzo IP virtuale del piano di controllo e rendere instabile il nuovo cluster. Esegui i comandi di reset sui nodi che hanno esito negativo il prima possibile dopo aver recuperato i nodi.

Passaggi successivi

Per saperne di più su come aggiungere o rimuovere nodi da un cluster quando non c'è un errore e controllare lo stato del nodo, consulta Aggiornare i cluster.