Debugging von Knotenproblemen

Auf dieser Seite wird erläutert, wie Sie Knotenprobleme in GKE on VMware mithilfe einer Reihe vorinstallierter Fehlerbehebungstools beheben.

Überblick

Jeder von Ihnen erstellte GKE on VMware-Cluster besteht aus mehreren Knoten. Jeder Knoten enthält eine Distribution der toolbox von CoreOS, einem Shell-Skript, das den Debugging-Container debug-toolbox entpackt und ausführt. debug-toolbox ist ein Container-Image, das mehrere nützliche tools enthält.

Wenn Probleme bei einem bestimmten Knoten auftreten, können Sie debuggen. Stellen Sie dazu eine Verbindung zum betroffenen Knoten her, führen Sie das Skript toolbox aus, um den Container debug-toolbox zu entpacken und auszuführen, und führen Sie die im Container enthaltenen Tools aus.

Tools im Container debug-toolbox

Der Container debug-toolbox führt ein Debian-Basis-Image aus, das die folgenden Pakete enthält:

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

Da diese Tools im Container enthalten sind, ist keine Internetverbindung erforderlich. Wenn Sie zusätzliche Debugging-Tools installieren möchten, verwenden Sie apt-get, wofür eine Internetverbindung erforderlich ist.

toolbox verwenden

  1. Stellen Sie eine SSH-Verbindung zum Clusterknoten her.

  2. Führen Sie den Befehl toolbox aus:

    sudo toolbox

    Mit diesem Befehl wird ein debug-toolbox-Container gestartet.

  3. Führen Sie im Container tools aus. Beispiel: tcpdump

  4. Wenn Sie fertig sind, verlassen Sie den Container und schließen Sie die SSH-Verbindung zum Knoten.

Node Problem Detector

Ab Version 1.4 von GKE on VMware hilft der Node Problem Detector, der für alle Knoten in einem Cluster aktiviert ist, bei der schnellen Erkennung einiger häufiger Knotenprobleme. Node Problem Detector sucht nach möglichen Problemen und meldet diese als Ereignisse und Bedingungen auf dem Knoten. Bei einem Fehlverhalten eines Knotens können Sie prüfen, ob Node Problem Detector das Problem erkannt hat. Dazu führen Sie kubectl describe auf dem Knoten aus und suchen nach den entsprechenden Ereignissen und Bedingungen.

Node Problem Detector überwacht mehrere Bedingungen auf dem Knoten. Wenn die gemeldete Bedingung KubeletUnhealthy oder ContainerRuntimeUnhealthy lautet, kann ein Neustart des entsprechenden systemd-Dienstes (Kubelet oder Docker) dazu beitragen, den Knoten wieder fehlerfrei zu machen.

Ab Version 1.5 von GKE on VMware ist die automatische Dienstreparatur von Kubelet und Docker Systemd in Node Problem Detector aktiviert. Wenn der Node Problem Detector einen KubeletUnhealthy- oder ContainerRuntimeUnhealthy-Zustand auf dem Knoten erkennt, wird versucht, den Kubelet- oder Docker-Dienst automatisch neu zu starten, wenn seit dem letzten Neustart ein spezifischer Zeitraum vergangen ist.