Einführung in die Fehlerbehebung

Wenn Probleme mit Config Sync auftreten, bietet diese Seite einige gängige Tools und Verfahren, mit denen Sie Probleme identifizieren und beheben können.

Upgrade auf eine unterstützte Version ausführen

Erwägen Sie ein Upgrade von Config Sync auf eine unterstützte Version. Durch ein Upgrade werden häufige Probleme behoben und Sie erhalten Zugriff auf die neuesten Funktionen.

nomos-Befehlszeilentool verwenden

Das nomos-Befehlszeilentool bietet wichtige Informationen zu Ihrer Config Sync-Einrichtung. Die in den folgenden Abschnitten beschriebenen Befehle sind besonders hilfreich, wenn Sie versuchen, die Ursache Ihres Problems zu ermitteln, oder wenn Sie mit Cloud Customer Care arbeiten müssen.

Config Sync-Status ansehen

Der Befehl nomos status bietet Ihnen zusammengefasste Daten und aufgetretene Fehler. So können Sie verstehen, welches Problem Ihre Config Sync-Installation hat. Die folgenden Informationen sind mit nomos status verfügbar:

  • Installationsstatus pro Cluster
  • Synchronisierungsfehler (sowohl Lesen von Git-Werten als auch Ausgleichen von Änderungen)

Fehlerbericht erstellen

Wenn Sie ein Problem mit Config Sync haben, für das Sie die Unterstützung von Cloud Customer Care benötigen, können Sie dem Support mit dem nomos bugreport-Befehl wertvolle Debugging-Informationen bereitstellen.

Dieser Befehl generiert eine zeitgestempelte Zip-Datei mit Informationen zum Kubernetes-Cluster, der in Ihrem kubectl-Kontext festgelegt ist. Die Datei enthält auch Logs aus den Config Sync-Pods. Sie enthält keine Informationen aus den mit Config Sync synchronisierten Ressourcen.

Übersichts-Dashboard aufrufen

Das Config Sync-Dashboard bietet Ihnen einen Überblick über den Status der von Config Sync verwalteten Pakete und den Status der Ressourcen in diesen Paketen. Mit diesem Dashboard können Sie sich schnell einen Überblick über den Status Ihrer Config Sync-Installation verschaffen und Pakete mit Problemen erkennen.

  • Rufen Sie in der Google Cloud Console im Bereich Funktionen die Seite Konfiguration auf, um auf das Dashboard zuzugreifen:

    Zu „Config“

Monitoring und Loganalyse verwenden

Wenn Sie Config Sync überwachen und die zugehörigen Logs untersuchen, können Sie die Ursache von Fehlern ermitteln und unerwartetes Verhalten besser nachvollziehen.

Config Sync-Messwerte

Verwenden Sie Config Sync-Messwerte, um den Zustand von Config Sync zu überwachen.

RootSync- und RepoSync-Objekte überwachen

Wenn Sie Config Sync mit der Google Cloud Console oder der Google Cloud CLI installieren, erstellt Config Sync automatisch ein RootSync-Objekt für Sie. Wenn Sie Synchronisierung aus mehreren Repositories konfigurieren, können Sie RepoSync-Objekte erstellen, die Konfigurationsinformationen zu Ihren Namespace-Repositories enthalten.

Das Monitoring dieser Objekte kann wertvolle Informationen über den Status von Config Sync aufzeigen. Weitere Informationen finden Sie unter RootSync- und RepoSync-Objekte überwachen.

Service Level Indicators (SLIs) verwenden

Wenn Sie Benachrichtigungen erhalten möchten, wenn Config Sync nicht wie vorgesehen funktioniert, verwenden Sie Config Sync-SLIs.

Abfragelogs

Mit dem Log-Explorer können Sie Logdaten für Config Sync abrufen, ansehen und analysieren. Diese Logs können wertvolle Verlaufsdaten enthalten, die nicht von nomos bugreport erfasst werden, wenn die Operator- oder Reconciler-Pods neu gestartet werden. Beispiele für Abfragen, die Ihnen bei der Diagnose Ihres Problems helfen können, finden Sie unter Config Sync-Logs abfragen.

Ressourcen mit dem Befehlszeilentool kubectl untersuchen

Config Sync besteht aus mehreren benutzerdefinierten Ressourcen, die Sie mit kubectl-Befehlen abfragen können. Mit diesen Befehlen können Sie den Status der einzelnen Config Sync-Objekte verstehen.

Sie sollten die folgenden Informationen zu den von Config Sync verwalteten Kubernetes-Ressourcen kennen:

  • config-management-system ist der Namespace, mit dem alle zentralen Systemkomponenten von Config Sync ausgeführt werden.
  • configmanagement.gke.io und configsync.gke.io sind die API-Gruppen, die wir für alle benutzerdefinierten Ressourcen verwenden.

Beispiele

In den folgenden Abschnitten wird gezeigt, wie Sie kubectl-Befehle verwenden können, um Config Sync zu untersuchen.

Benutzerdefinierte Ressourcen auflisten

  • Mit dem folgenden Befehl können Sie eine vollständige Liste der benutzerdefinierten Ressourcen abrufen:

    kubectl api-resources | grep -E "configmanagement.gke.io|configsync.gke.io"
    
  • Einzelne benutzerdefinierte Ressourcen können mit dem folgenden Befehl verwendet werden:

    kubectl get RESOURCE -o yaml.
    

    Ersetzen Sie RESOURCE durch den Namen der Ressource, die Sie abfragen möchten.

    Mit der Ausgabe des folgenden Befehls können Sie beispielsweise den Status eines RootSync-Objekts prüfen:

    kubectl get rootsync -n config-management-system -o yaml
    

Token-Annotation eines Objekts prüfen

Möglicherweise möchten Sie wissen, wann ein verwaltetes Kubernetes-Objekt zuletzt von Config Sync aktualisiert wurde. Jedes verwaltete Objekt wird mit dem Hash des Git-Commits bei der letzten Änderung sowie dem Pfad zu der Konfiguration annotiert, die die Änderung enthielt.

Führen Sie beispielsweise den folgenden Befehl aus, um die Annotation einer ClusterRoleBinding mit dem Namen namespace-readers abzurufen:

kubectl get clusterrolebinding namespace-readers

Die Ausgabe sieht in etwa so aus:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  annotations:
    configmanagement.gke.io/source-path: cluster/namespace-reader-clusterrolebinding.yaml
    configmanagement.gke.io/token: bbb6a1e2f3db692b17201da028daff0d38797771
  name: namespace-readers
...

Weitere Informationen finden Sie unter Labels und Annotationen.

Diagnose mit Gemini Cloud Assist beschleunigen

Manchmal ist die Ursache Ihres Problems nicht sofort ersichtlich, auch nicht nach der Verwendung der in den vorherigen Abschnitten beschriebenen Tools. Die Untersuchung komplexer Fälle kann zeitaufwendig sein und erfordert fundiertes Fachwissen. In solchen Fällen kann Gemini Cloud Assist helfen. Es kann automatisch verborgene Muster erkennen, Anomalien aufdecken und Zusammenfassungen bereitstellen, damit Sie schnell eine wahrscheinliche Ursache ermitteln können.

Auf Gemini Cloud Assist zugreifen

So greifen Sie auf Gemini Cloud Assist zu:

  1. Rufen Sie in der Google Cloud Console eine beliebige Seite auf.
  2. Klicken Sie in der Google Cloud Console-Symbolleiste auf Gemini Cloud Assist-Chat öffnen oder schließen.

    Der Cloud Assist-Bereich wird geöffnet. Sie können auf Beispiel-Prompts klicken, sofern sie angezeigt werden, oder einen Prompt im Feld Prompt eingeben eingeben.

Beispiel-Prompts ansehen

Damit Sie besser nachvollziehen können, wie Gemini Cloud Assist Ihnen helfen kann, finden Sie hier einige Beispielprompts:

Design Szenario Beispiel-Prompt So kann Gemini Cloud Assist helfen
Ersteinrichtung Ein Plattformtechniker richtet Config Sync zum ersten Mal ein, damit er GKE-Cluster über ein Git-Repository verwalten kann. Wie richte ich Config Sync ein, um Manifeste aus meinem GitHub-Repository mit meinem GKE-Cluster zu synchronisieren? Gemini Cloud Assist bietet eine Schritt-für-Schritt-Anleitung zum Einrichten von Config Sync, einschließlich der Flottenregistrierung und der Aktivierung der Funktion. Außerdem werden Details wie Repository-URL, Branch, Pfad und Authentifizierungsmethoden (z. B. public, token oder ssh) erläutert.
Synchronisierungsfehler beheben Ein Entwickler übergibt ein neues Manifest, aber die Ressource kann nicht auf den Cluster angewendet werden und der Synchronisierungsstatus zeigt einen Fehlercode an. Mein Config Sync-Objekt RootSync zeigt „KNV2009: the server could not find the requested resource“ an. Was bedeutet das und wie kann ich das Problem beheben? Gemini Cloud Assist analysiert den Fehlercode und erklärt, dass er im Allgemeinen darauf hinweist, dass Config Sync eine erwartete Kubernetes-Ressource nicht finden oder mit ihr interagieren kann. Anschließend werden häufige Ursachen wie fehlende RBAC-Berechtigungen, Überschreitung der Größenbeschränkungen für Ressourcenobjekte, falsche Verzeichnispfade, Konflikte mit externen Inventaren und Probleme mit nicht verwalteten Ressourcen beschrieben und für jede Ursache werden spezifische Schritte zur Fehlerbehebung angegeben.
Mehrere Teams verwalten Eine Organisation muss Anwendungsteams erlauben, ihre eigenen Konfigurationen in bestimmten Namespaces zu verwalten, ohne ihnen Zugriff auf das zentrale Plattform-Repository zu gewähren. Was ist der Unterschied zwischen einem RootSync- und einem RepoSync-Objekt in Config Sync? Wann sollte ich RepoSync verwenden?

Gemini Cloud Assist erklärt den Hauptunterschied zwischen RootSync- und RepoSync-Objekten: RootSync-Objekte sind clusterbezogen und werden in der Regel von Administratoren für clusterweite Konfigurationen verwendet, während RepoSync-Objekte namespacebezogen sind und für Anwendungsteams entwickelt wurden, um Ressourcen in einem bestimmten Namespace zu verwalten. Dies fördert die Delegation und Mandantenfähigkeit.

Gemini Cloud Assist beschreibt auch Szenarien, in denen RepoSync-Objekte verwendet werden sollten, und betont die Vorteile für die Mandantenfähigkeit und die Reduzierung des betroffenen Bereichs von Fehlkonfigurationen.

Proaktive Validierung Ein Entwickler möchte sichergehen, dass sein neues Manifest gültig ist, bevor er es im Repository committet, um zu vermeiden, dass die Synchronisierung in der Produktion fehlschlägt. Wie kann ich meine Kubernetes-Manifeste auf meinem lokalen Computer auf Config Sync-Fehler prüfen, bevor ich sie in das Git-Repository pushe? Gemini Cloud Assist erklärt, wie Sie Kubernetes-Manifeste mit dem nomos-Befehlszeilentool auf Config Sync-Fehler prüfen. Darin wird beschrieben, wie Sie den Befehl nomos vet zur Syntaxvalidierung und den Befehl nomos hydrate zum Vorschauen gerenderter Konfigurationen aus Kustomize oder Helm verwenden. Gemini Cloud Assist bietet auch einen empfohlenen Workflow zum Einbinden dieser Prüfungen, bevor Sie Änderungen in Git übertragen.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Gemini Cloud Assist-Prüfungen verwenden

Neben dem interaktiven Chat kann Gemini Cloud Assist auch automatisierte, detaillierte Analysen durchführen. Dazu werden Gemini Cloud Assist-Prüfungen verwendet. Diese Funktion ist direkt in Workflows wie dem Log-Explorer integriert und ist ein leistungsstarkes Tool zur Ursachenanalyse.

Wenn Sie eine Untersuchung über einen Fehler oder eine bestimmte Ressource starten, analysiert Gemini Cloud Assist Logs, Konfigurationen und Messwerte. Anhand dieser Daten werden dann gerankte Beobachtungen und Hypothesen zu wahrscheinlichen Ursachen erstellt und Sie erhalten Empfehlungen für die nächsten Schritte. Sie können diese Ergebnisse auch in ein Google Cloud Support-Ticket übertragen, um wertvollen Kontext bereitzustellen, der Ihnen helfen kann, Ihr Problem schneller zu beheben.

Weitere Informationen finden Sie in der Gemini-Dokumentation unter Gemini Cloud Assist-Prüfungen.

Zusätzliche Dokumentation zur Fehlerbehebung lesen

Wenn weiterhin Probleme auftreten, können dir die folgenden Ressourcen möglicherweise weiterhelfen:

  • Wenn Sie eine Fehlermeldung erhalten haben, finden Sie in der Fehlerreferenz Tipps zum Beheben des Fehlers.

  • Prüfe, ob das Problem, das du hast, durch ein bekanntes Problem verursacht wird.

  • Wenn Sie Probleme in einem bestimmten Bereich haben, kann eine der gezielten Fehlerbehebungsanleitungen hilfreich sein, die im Abschnitt Fehlerbehebung nach Problemtyp des Inhaltsverzeichnisses aufgeführt sind.

Nächste Schritte

  • Wenn Sie in der Dokumentation keine Lösung für Ihr Problem finden, lesen Sie den Abschnitt Support erhalten. Dort finden Sie weitere Informationen, unter anderem zu den folgenden Themen: