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 consentono di scegliere l'ambito diagnostico del comando in modo da ottenere informazioni dettagliate. Il comando bmctl check cluster non può essere utilizzato nei cluster utente.

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

Crea uno snapshot per l'installazione/l'upgrade bloccati del cluster di amministrazione

Quando installi cluster di amministrazione/ibridi/autonome, se bmctl è bloccato al seguente output

  • In attesa che il cluster kubeconfig sia pronto
  • In attesa che il cluster sia pronto
  • In attesa che i pool di nodi siano pronti

o quando esegui l'upgrade di cluster di amministrazione/ibridi/standalone,

  • In attesa del completamento dell'upgrade

puoi eseguire il comando seguente per creare uno snapshot utilizzando il cluster bootstrap.

bmctl check cluster --snapshot --kubeconfig <var>WORKSPACE_DIR</var>/.kindkubeconfig --cluster <var>CLUSTER_NAME</var>

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. Il comando bmctl reset cluster non può essere utilizzato nei cluster utente.

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