Questa pagina spiega come eseguire il debug dei problemi dei nodi su Cluster Anthos su VMware (GKE on VMware) utilizzando una suite di strumenti di debug preinstallati.
Panoramica
Ogni cluster Cluster Anthos su VMware (GKE on VMware) che crei è composto da diversi nodi. Ogni nodo include una distribuzione di toolbox
di CoreOS, uno script shell che decompone ed esegue un container di debug, debug-toolbox
.
debug-toolbox
è un'immagine container che include diversi tools utili di debug.
Se riscontri problemi con un nodo specifico, puoi tentare di eseguire il debug connettendoti al nodo interessato, eseguendo lo script toolbox
per decomprimere ed eseguire il container debug-toolbox
, quindi eseguire gli strumenti inclusi nel container.
Strumenti inclusi nel contenitore debug-toolbox
Il container debug-toolbox
esegue un'immagine base Debian che include i seguenti pacchetti:
- bash
- arricciare
- dnsutil
- hping3
- iperf3
- Lsof
- Netcat
- mtr
- procps
- strace
- tcpdump
- traceroute
- util-linux
Poiché questi strumenti sono inclusi nel container, non richiedono una connessione
a Internet. Se vuoi installare altri strumenti di debug, utilizza apt-get
, che richiede una connessione a internet.
Uso: toolbox
Esegui il comando
toolbox
:sudo toolbox
Questo comando avvia un container
debug-toolbox
.All'interno del contenitore, esegui uno degli tools. Ad esempio,
tcpdump
.Al termine, esci dal container e chiudi la connessione SSH al nodo.
Rilevatore di problemi relativi ai nodi
A partire dalla versione 1.4 di Cluster Anthos su VMware, Node Issue Detector, che è abilitato per tutti i nodi di un cluster, consente di rilevare rapidamente alcuni problemi comuni dei nodi. Il rilevatore di problemi dei nodi continua a controllare i possibili problemi e segnala gli stessi eventi e condizioni sul nodo. Se un nodo ha un comportamento anomalo, puoi verificare se il rilevatore di problemi dei nodi ha rilevato il problema eseguendo kubectl describe
sul nodo e cercando gli eventi e le condizioni corrispondenti.
Il rilevatore di problemi dei nodi genera diverse condizioni sul nodo. Se la condizione segnalata è KubeletUnhealthy
o ContainerRuntimeUnhealthy
, un riavvio del servizio systemd
corrispondente (kubelet o Docker) potrebbe essere utile per ripristinare l'integrità del nodo.
A partire dalla versione 1.5 di Cluster Anthos su VMware, la riparazione automatica dei servizi di sistema kubelet e docker systemd è abilitata nel rilevatore di problemi dei nodi. Se il rilevatore di problemi dei nodi rileva una condizione KubeletUnhealthy
o ContainerRuntimeUnhealthy
sul nodo, tenta di riavviare automaticamente il servizio kubelet o Docker se la durata dall'ultimo riavvio supera una determinata soglia.