Debug dei problemi relativi ai nodi

Questa pagina spiega come eseguire il debug dei problemi dei nodi sui cluster Anthos su VMware (GKE on-prem) utilizzando una suite di strumenti di debug preinstallati.

Panoramica

Ogni cluster Anthos sul cluster VMware (GKE on-prem) che crei è composto da diversi nodi. Ogni cluster Anthos su nodo VMware include una distribuzione di CoreOS' toolbox, uno script shell che decomprime ed esegue un container di debug, debug-toolbox. debug-toolbox è un'immagine container che include diversi strumenti di debug utili.

In caso di problemi con un nodo specifico, puoi tentare di eseguire il debug connettendoti al nodo interessato, esegui lo script toolbox per decomprimere ed esegui il container debug-toolbox ed esegui gli strumenti inclusi nel container.

Strumenti inclusi nel contenitore debug-toolbox

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

  • bash
  • Curling
  • dnsutils
  • hping3
  • iperf3
  • LSOF
  • Netnet
  • MTR
  • oggetto
  • cinturino
  • TCP
  • traceroute
  • util-linux

Poiché questi strumenti sono inclusi nel container, non richiedono una connessione a Internet. Per installare altri strumenti di debug, utilizza apt-get, che richiede una connessione a Internet.

È in uso toolbox

  1. SSH nel nodo del cluster.

  2. Esegui il comando toolbox:

    sudo toolbox

    Questo comando avvia un contenitore debug-toolbox.

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

  4. Al termine, esci dal container e chiudi la connessione SSH al nodo.

Rilevatore di problemi dei nodi

A partire dai cluster Anthos sulla versione 1.4 di VMware, il rilevatore di problemi dei nodi, abilitato per tutti i nodi in un cluster, consente di rilevare rapidamente alcuni problemi comuni dei nodi. La funzionalità di rilevamento dei problemi dei nodi verifica costantemente la presenza di possibili problemi e segnala gli stessi eventi e condizioni del nodo. Se un nodo funziona in modo errato, puoi controllare se il rilevatore del problema del nodo ha rilevato il problema eseguendo kubectl describe sul nodo e cercando gli eventi e le condizioni corrispondenti.

I monitor del rilevamento dei 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 ristabilire l'integrità del nodo.

A partire dai cluster Anthos sulla versione 1.5 di VMware, kubelet e docker la riparazione automatica dei servizi basati su docker è abilitata in Rilevatore problemi dei nodi. Se il rilevatore di problemi con nodi rileva una condizione KubeletUnhealthy o ContainerRuntimeUnhealthy sul nodo, tenta di riavviare automaticamente il servizio kubelet o docker se la durata dall'ultimo riavvio è sopra una determinata soglia.