Debug dei problemi relativi ai nodi

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

  1. Accedi tramite SSH al nodo del cluster.

  2. Esegui il comando toolbox:

    sudo toolbox

    Questo comando avvia un container debug-toolbox.

  3. Una volta all'interno del container, esegui uno degli tools. Ad esempio, tcpdump.

  4. 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.

Passaggi successivi

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