Debug dei problemi relativi ai nodi

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

  1. SSH nel nodo del cluster.

  2. Esegui il comando toolbox:

    sudo toolbox

    Questo comando avvia un container debug-toolbox.

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

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