Debug dei problemi relativi ai nodi

Questa pagina spiega come eseguire il debug dei problemi relativi ai nodi su Google Distributed Cloud (solo software) per VMware utilizzando una suite di strumenti di debug preinstallati.

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

Panoramica

Ogni cluster Google Distributed Cloud che crei è composto da diversi nodi. Ogni nodo include una distribuzione di toolbox di CoreOS, uno script shell che estrae ed esegue un contenitore di debug, debug-toolbox. debug-toolbox è un'immagine container che include diversi utili strumenti di debug.

Se riscontri problemi con un nodo specifico, puoi provare a eseguire il debug collegandoti al nodo interessato, eseguendo lo script toolbox per decomprimere ed eseguire il contenitore debug-toolbox ed eseguendo gli strumenti inclusi nel contenitore.

Strumenti inclusi nel contenitore debug-toolbox

Il contenitore debug-toolbox esegue un'immagine di base Debian che include i seguenti pacchetti:

  • bash
  • curl
  • dnsutils
  • hping3
  • iperf3
  • lsof
  • netcat
  • mtr
  • procps
  • strace
  • tcpdump
  • traceroute
  • util-linux

Poiché questi strumenti sono inclusi nel contenitore, non richiedono una connessione a internet. Se vuoi installare altri strumenti di debug, utilizzaapt-get, che richiede una connessione a internet.

È in uso toolbox

  1. Accedi tramite SSH al nodo del cluster.

  2. Esegui il comando toolbox:

    sudo toolbox

    Questo comando avvia un contenitore debug-toolbox.

  3. All'interno del contenitore, esegui uno degli strumenti. Ad esempio, tcpdump.

  4. Al termine, esci dal contenitore e chiudi la connessione SSH al node.

Node Problem Detector

Node Problem Detector, attivo per tutti i nodi di un cluster, consente di rilevare rapidamente alcuni problemi comuni dei nodi. Il rilevatore di problemi del nodo continua a verificare la presenza di possibili problemi e genera report come per gli eventi e le condizioni sul nodo. Se un nodo si comporta in modo anomalo, puoi verificare se il rilevatore problemi nodo lo ha rilevato 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 contribuire a ripristinare lo stato del nodo.

A partire dalla versione 1.5 di Google Distributed Cloud, la riparazione automatica dei servizi systemd di kubelet e docker è abilitata in Node Problem Detector. Se Node Problem Detector rileva una condizione KubeletUnhealthy o ContainerRuntimeUnhealthy sul nodo, tenta di riavviare automaticamente il servizio kubelet o Docker se la durata dall'ultimo riavvio è superiore a una determinata soglia.

Passaggi successivi

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