In questa pagina viene spiegato come eseguire il debug dei problemi dei nodi su Google Distributed Cloud utilizzando una suite di strumenti di debug preinstallati.
Se hai bisogno di ulteriore aiuto, contatta l'assistenza clienti Google Cloud.Panoramica
Ogni cluster GKE on VMware che crei è composto da diversi nodi. Ogni nodo include una distribuzione di toolbox
di CoreOS, uno script shell che decomprime ed esegue un container di debug, debug-toolbox
.
debug-toolbox
è un'immagine container che include diversi tools di debug utili.
Se riscontri problemi con un nodo specifico, puoi provare a eseguire il debug
collegandoti al nodo interessato, eseguire lo script toolbox
per decomprimere ed eseguire il
container debug-toolbox
ed eseguire gli strumenti inclusi nel container.
Strumenti inclusi in debug-toolbox
contenitore
Il container debug-toolbox
esegue un'immagine di base Debian che include i seguenti pacchetti:
- bash
- curl
- dnsutils
- hping3
- iperf3
- lsof
- Netcat
- mtr
- procp
- 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
.Una volta all'interno del container, esegui uno degli tools. Ad esempio,
tcpdump
.Al termine, esci dal container e chiudi la connessione SSH al nodo.
Rilevatore problemi nodo
A partire da GKE on VMware versione 1.4, Node Problem Detector, 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 eventuali
problemi e segnala come gli eventi e le condizioni sul nodo. Se un nodo
non si comporta correttamente, puoi verificare se il rilevatore di problemi del nodo
ha rilevato il problema eseguendo kubectl describe
sul nodo e cercando gli eventi e le condizioni corrispondenti.
I monitor del rilevatore di problemi del nodo generano diverse condizioni sul nodo. Se la condizione segnalata è KubeletUnhealthy
o ContainerRuntimeUnhealthy
, un riavvio del servizio systemd
corrispondente (kubelet o Docker) potrebbe aiutare a ripristinare l'integrità del nodo.
A partire da Google Distributed Cloud versione 1.5, la riparazione automatica di kubelet e docker
systemd service è abilitata nel rilevatore di problemi dei nodi. Se il rilevatore di problemi con i nodi rileva una condizione KubeletUnhealthy
o ContainerRuntimeUnhealthy
sul nodo, tenta di riavviare automaticamente il servizio kubelet o docker se il tempo trascorso dall'ultimo riavvio è superiore a una determinata soglia.