Debugging von Knotenproblemen

Auf dieser Seite wird erläutert, wie Sie Knotenprobleme in Anthos-Cluster auf VMware (GKE auf VMware) mithilfe einer Suite vorinstallierter Fehlerbehebungstools beheben.

Überblick

Jeder von Ihnen erstellte Anthos-Cluster auf VMware (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 Anthos-Cluster auf VMware unterstützt der Knotenproblemdetektor, der für alle Knoten in einem Cluster aktiviert ist, einige häufige Knotenprobleme schnell. 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 Anthos-Cluster auf VMware ist die automatische Reparatur von Kubelet- und Docker-systemd-Diensten 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.