Risoluzione dei problemi: diagnostica e reimpostazione dei cluster

Puoi diagnosticare o controllare i cluster per eseguire il debug dei problemi e acquisire uno snapshot dello stato del cluster. Inoltre, se l'installazione è riuscita parzialmente, ma il cluster restituisce errori o non ha le prestazioni adeguate, puoi provare a reimpostare il cluster.

Diagnostica dei cluster con bmctl check cluster in corso...

Puoi acquisire lo stato dei cluster creati con il comando bmctl check cluster. I flag per il comando ti permettono di scegliere l'ambito diagnostico del comando in modo da ottenere informazioni focalizzate.

Le informazioni di diagnostica possono aiutarti a rilevare i problemi e a eseguire il debug dei deployment in modo più efficace. Il comando acquisisce tutti i file di configurazione di cluster e nodi pertinenti per l'ambito definito e poi pacchettizza le informazioni in un singolo archivio tar.

bmctl check cluster --snapshot --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG

Questo comando genera un archivio tar che include informazioni di debug pertinenti da tutti i componenti e le macchine di sistema nel cluster specificato.

ADMIN_KUBECONFIGspecifica il percorso del file kubeconfig e CLUSTER_NAME specifica il nome del cluster.

Puoi modificare l'ambito delle informazioni di diagnostica raccolte con i seguenti flag di comando:

  • Il flag --snapshot-scenario all aumenta l'ambito dello snapshot di diagnostica in modo da includere tutti i pod nel cluster specificato:
bmctl check cluster --snapshot --snapshot-scenario all --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
  • Il flag --snapshot-dry-run funziona in combinazione con il flag --snapshot-config string. Utilizza il flag --snapshot-dry-run per generare un file di configurazione che puoi modificare per definire un ambito diagnostico personalizzato. L'ambito può includere pod, spazi dei nomi o comandi nodo specifici.

Dopo aver modificato il file di output creato con il flag --snapshot-dry-run, puoi utilizzarlo come input per diagnosticare l'ambito specifico con il flag --snapshot-config string, descritto di seguito. Se ometti questo flag, viene applicata una configurazione predefinita.

bmctl check cluster --snapshot --snapshot-dry-run --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
  • Il flag --snapshot-config indica al comando bmctl di utilizzare le opzioni dell'ambito specificate in un file di configurazione degli snapshot. In genere, crei il file di configurazione dello snapshot con il flag --snapshot-dry-run.
bmctl check cluster --snapshot --snapshot-config SNAPSHOT_CONFIG_FILE --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG

Reimpostazione dei cluster con bmctl reset cluster in corso...

Se l'installazione di un cluster non va a buon fine, puoi provare a ripristinare lo stato pulito dei nodi reimpostandolo. Quindi puoi reinstallare il cluster dopo aver apportato modifiche alla configurazione.

Per reimpostare un cluster, esegui il comando seguente:

bmctl reset --cluster CLUSTER_NAME

Il comando di reimpostazione viene applicato all'intero cluster. Non esiste un'opzione per scegliere come target un sottoinsieme di nodi in un cluster.

L'output del comando è simile a questo esempio:

bmctl reset -c cluster1
Creating bootstrap cluster... OK
Deleting GKE Hub member admin in project my-gcp-project...
Successfully deleted GKE Hub member admin in project my-gcp-project
Loading images... OK
Starting reset jobs...
Resetting: 1    Completed: 0    Failed: 0
...
Resetting: 0    Completed: 1    Failed: 0
Flushing logs... OK

Reimposta dettagli cluster

Durante l'operazione di reimpostazione, bmctl tenta di eliminare la registrazione dell'abbonamento all'hub GKE, quindi pulisce i nodi interessati.

Durante il reset, vengono eliminati anche i supporti di archiviazione e i dati da anthos-system StorageClass.

Per tutti i nodi, bmctl esegue kubeadm reset, rimuove le interfacce del tunnel utilizzate per il networking del cluster ed elimina le seguenti directory:

  • /etc/kubernetes
  • /etc/cni/net.d
  • /root/.kube
  • /var/lib/kubelet

Per i nodi del bilanciatore del carico, bmctl esegue anche le seguenti azioni:

  • Disattiva i servizi keepalived e haproxy
  • Elimina i file di configurazione per keepalived e haproxy

Lo strumento di reimpostazione prevede che il file di configurazione del cluster si trovi nella seguente posizione all'interno della directory di lavoro attuale:

bmctl-workspace/cluster name/cluster name.yaml