Reimposta un nodo con errori in Google Distributed Cloud

In caso di errore dei nodi in Google Distributed Cloud, che può verificarsi a causa di problemi in caso di errori di configurazione dello spazio di archiviazione, della rete o del sistema operativo, vuoi ripristinare l'integrità del cluster. Dopo aver ripristinato l'integrità del cluster, puoi risolvere i problemi del nodo. Questo documento mostra come ripristinare gli scenari di errore dei nodi ripristinando un nodo e rimuovendolo con forza, se necessario.

Se vuoi aggiungere o rimuovere nodi da un cluster quando non si sono verificati errori, consulta Aggiorna i cluster.

Se hai bisogno di ulteriore assistenza, contatta Assistenza clienti Google Cloud.

Reimposta nodi

In caso di errore del nodo, a volte non puoi eseguire comandi di ripristino sui nodi poiché il nodo potrebbe essere irraggiungibile. Potresti dover rimuovere il nodo con forza dal cluster.

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

  1. Il nodo si reimposta, come in kubeadm reset, e la macchina ripristina la stato preinstallato.
  2. I riferimenti correlati al nodo vengono rimossi dal pool di nodi e dal cluster risorse personalizzate.

In alcuni dei seguenti comandi bmctl per reimpostare i nodi, --force indica se i comandi di ripristino (passaggio 1) devono essere ignorati. Se in uso il parametro --force, bmctl esegue solo il passaggio di rimozione (passaggio 2) e non esegue i comandi di ripristino.

Rimuovi nodo worker

Per rimuovere un nodo worker da un cluster, completa i seguenti passaggi:

  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 quanto segue:

    • COMMA_SEPARATED_IP: gli indirizzi IP dei nodi da reimpostate, ad esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi in errore.
    • ADMIN_KUBECONFIG: il percorso del cluster di amministrazione kubeconfig file.

    Se il comando ha esito positivo, ora puoi diagnosticare il nodo e correggere eventuali errori di configurazione che hanno causato l'errore iniziale. Salta i passaggi rimanenti tra questa sezione.

  2. Se il passaggio precedente per la reimpostazione del nodo non va a buon fine, rimuovilo con forza dal cluster. Questa rimozione forzata salta il passaggio precedente eseguito che reimposta i comandi ed esegue solo il passaggio per rimuovere riferimenti 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 errori di configurazione che hanno causato errore iniziale.

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

Rimuovi nodo del piano di controllo singolo

La procedura è la stessa utilizzata per i nodi worker. Per i nodi del piano di controllo, bmctl pulisce anche l'abbonamento a etcd.

Il cluster smette di essere in stato ad alta disponibilità dopo la rimozione nodo con errore. Per tornare allo stato ad alta disponibilità, aggiungi un nodo integro al cluster.

Per rimuovere un nodo da un cluster, completa i seguenti passaggi:

  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 reimpostate, ad esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi in errore.
    • ADMIN_KUBECONFIG: il percorso del cluster di amministrazione kubeconfig file.

    Se il comando ha esito positivo, ora puoi diagnosticare il nodo e correggere eventuali errori di configurazione che hanno causato l'errore iniziale. Salta i passaggi rimanenti tra questa sezione.

  2. Se il passaggio precedente per reimpostare il nodo ha esito negativo, puoi rimuovere con forza il dal cluster. Questa rimozione forzata salta il passaggio precedente eseguito che reimposta i comandi ed esegue solo il passaggio per rimuovere riferimenti 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 errori di configurazione che hanno causato errore iniziale.

  3. Se hai rimosso forzatamente il nodo dal cluster di nodi nell'esperienza 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 stato di errore, perde il quorum e diventa non disponibile.

Se devi ripristinare i cluster di gestione, non fornire il kubeconfig nei comandi di ripristino. Se fornisci il file kubeconfig per una gestione di ripristino, viene forzata l'operazione di ripristino da parte di un nuovo cluster. Quando ripristinare un cluster utente, fornisci il percorso del file kubeconfig.

  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 quanto segue:

    • CONTROL_PLANE_NODE: gli indirizzi IP di un nodo integro che resta parte del cluster.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi in errore.
    • KUBECONFIG_FILE: in caso di recupero di un cluster utente, il percorso al file kubeconfig del cluster utente.
  2. Dopo aver recuperato i nodi con errori, esegui il comando bmctl reset per reimpostarlo i nodi:

    bmctl reset nodes \
       --addresses COMMA_SEPARATED_IPS \
       --cluster CLUSTER_NAME \
       [--kubeconfig KUBECONFIG_FILE]
    

    Sostituisci quanto segue:

    • COMMA_SEPARATED_IP: gli indirizzi IP dei nodi da reimpostate, ad esempio 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: il nome del cluster di destinazione che contiene i nodi in errore.
    • KUBECONFIG_FILE: il percorso del cluster di amministrazione kubeconfig file.

    Se i nodi in errore facevano parte dei pool di nodi del bilanciatore del carico, dopo che i nodi potrebbero contendersi per l'indirizzo IP virtuale del piano di controllo il nuovo cluster instabile. Esegui i comandi di ripristino sui nodi in errore come il prima possibile dopo aver ripristinato i nodi.

Questo processo gestisce solo il ripristino di emergenza per un piano di controllo a tre nodi deployment ad alta disponibilità. Questo processo non supporta il ripristino per le configurazioni ad alta disponibilità nodi o più.

Passaggi successivi

  • Per ulteriori informazioni su come aggiungere o rimuovere nodi da un cluster quando sono non è un errore e controlla lo stato del nodo, consulta Aggiorna i cluster.

  • Se hai bisogno di ulteriore assistenza, contatta Assistenza clienti Google Cloud.