Fehlerbehebung: Diagnose und Zurücksetzen von Clustern

Sie können Cluster diagnostizieren oder überprüfen, um Fehler zu beheben, und einen Snapshot des Clusterstatus erstellen. Wenn Sie mit einer Installation teilweise erfolgreich waren, der Cluster aber Fehler zurückgibt oder nicht ordnungsgemäß funktioniert, können Sie versuchen, den Cluster zurückzusetzen.

Cluster mit bmctl check cluster diagnostizieren

Sie können den Status der erstellten Cluster mit dem Befehl bmctl check cluster erfassen. Mit den Flags für den Vergleich können Sie den Diagnosebereich des Befehls auswählen, um fokussierte Informationen zu erhalten. Der Befehl bmctl check cluster kann nicht für Nutzercluster verwendet werden.

Mithilfe der Diagnoseinformationen können Sie Probleme entdecken und Ihre Bereitstellungen effektiver beheben. Der Befehl erfasst alle relevanten Cluster- und Knotenkonfigurationsdateien für Ihren definierten Bereich und verpackt die Informationen dann in einem einzigen TAR-Archiv.

bmctl check cluster --snapshot --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG

Dieser Befehl gibt ein TAR-Archiv aus, das relevante Informationen zur Fehlerbehebung aus allen Systemkomponenten und Maschinen im angegebenen Cluster enthält.

ADMIN_KUBECONFIG gibt den Pfad zur Datei "kubeconfig" und CLUSTER_NAME den Namen des Clusters an.

Sie können den Bereich der Diagnoseinformationen, die erfasst werden, mit den folgenden Befehls-Flags, ändern:

  • Das Flag --snapshot-scenario all erhöht den Bereich des Diagnose-Snapshots, sodass alle Pods im angegebenen Cluster berücksichtigt werden:
bmctl check cluster --snapshot --snapshot-scenario all --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
  • Das Flag --snapshot-dry-run arbeitet mit dem Flag --snapshot-config string. Verwenden Sie das Flag --snapshot-dry-run, um eine Konfigurationsdatei auszugeben, die Sie ändern können, um einen benutzerdefinierten Diagnosebereich zu definieren. Der Bereich kann bestimmte Pods, Namespaces oder Knotenbefehle enthalten.

Nachdem Sie die mit dem Flag --snapshot-dry-run erstellte Ausgabedatei geändert haben, können Sie sie als Eingabe zur Diagnose Ihres bestimmten Bereichs mit dem Flag --snapshot-config string verwenden (siehe unten). Wenn Sie dieses Flag weglassen, wird eine Standardkonfiguration angewendet.

bmctl check cluster --snapshot --snapshot-dry-run --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
  • Das Flag --snapshot-config weist den Befehl bmctl an, die in der Snapshot-Konfigurationsdatei angegebenen Bereichsoptionen zu verwenden. Im Allgemeinen erstellen Sie die Snapshot-Konfigurationsdatei mit dem Flag --snapshot-dry-run.
bmctl check cluster --snapshot --snapshot-config SNAPSHOT_CONFIG_FILE --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG

Snapshot für steckengebliebene Installation/Upgrade des Administrator-Clusters erstellen

Bei der Installation von Administrator-/Hybrid-/eigenständigen Clustern, wenn bmctl bei der folgenden Ausgabe hängen bleibt:

  • Warten, bis Cluster-kubeconfig bereit ist
  • Warten, bis Cluster bereit ist
  • Warten, bis Worker-Knotenpools bereit sind

oder beim Upgrade von Administrator-/Hybrid-/eigenständigen Clustern:

  • Warten auf Abschluss des Upgrades

können Sie den folgenden Befehl ausführen, um mit dem Bootstrap-Cluster einen Snapshot zu erstellen.

bmctl check cluster --snapshot --kubeconfig <var>WORKSPACE_DIR</var>/.kindkubeconfig --cluster <var>CLUSTER_NAME</var>

Cluster mit bmctl reset cluster zurücksetzen

Wenn ein Cluster nicht ordnungsgemäß installiert wird, können Sie die Knoten zurückgeben, indem Sie den Knoten zurücksetzen. Dann können Sie den Cluster neu installieren, nachdem Sie die Konfigurationsänderungen vorgenommen haben. Der Befehl bmctl reset cluster kann nicht für Nutzercluster verwendet werden.

Führen Sie den folgenden Befehl aus, um einen Cluster zurückzusetzen:

bmctl reset --cluster CLUSTER_NAME

Der Reset-Befehl gilt für den gesamten Cluster. Es gibt keine Möglichkeit, eine Teilmenge von Knoten in einem Cluster anzusprechen.

Die Ausgabe des Befehls sieht in etwa so aus:

bmctl reset -c cluster1
Creating bootstrap cluster... OK
Deleting GKE Hub member admin in project my-gcp-project...
Successfully deleted GKE Hub member admin in project my-gcp-project
Loading images... OK
Starting reset jobs...
Resetting: 1    Completed: 0    Failed: 0
...
Resetting: 0    Completed: 1    Failed: 0
Flushing logs... OK

Clusterdetails zurücksetzen

Beim Zurücksetzen versucht bmctl, die GKE Hub Hub-Mitgliedschaft zu löschen und die betroffenen Knoten zu bereinigen.

Beim Zurücksetzen werden auch Speicher-Deployments und Daten aus anthos-system StorageClass gelöscht.

Für alle Knoten wird bmctl ausgeführtkubeadm reset, entfernt die Tunnelschnittstellen, die für Cluster-Netzwerke verwendet werden, und löscht die folgenden Verzeichnisse:

  • /etc/kubernetes
  • /etc/cni/net.d
  • /root/.kube
  • /var/lib/kubelet

Bei Load-Balancer-Knoten führt bmctl außerdem die folgenden Aktionen aus:

  • Deaktiviert keepalived und haproxy-Dienste
  • Löscht die Konfigurationsdateien für keepalived und haproxy

Das Reset-Tool erwartet, dass sich die Clusterkonfigurationsdatei an folgendem Speicherort im aktuellen Arbeitsverzeichnis befindet:

bmctl-workspace/cluster name/cluster name.yaml