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

Sie sollten Config Sync auf eine unterstützte Version aktualisieren. Durch ein Upgrade werden häufig allgemeine Probleme behoben und Sie erhalten Zugriff auf die neuesten Funktionen.

nomos-Befehlszeilentool verwenden

Das nomos Befehlszeilentool bietet wichtige Einblicke in Ihre 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. Wenn Sie dieses Dashboard untersuchen, erhalten Sie schnell einen Überblick über den Status Ihrer Config Sync-Installation und können alle Pakete mit Problemen erkennen.

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

    Zu „Config“

Monitoring und Loganalyse verwenden

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

Config Sync-Messwerte verstehen

Verwenden Sie Config Sync-Messwerte, um Einblick in den Status von Config Sync zu erhalten.

RootSync- und RepoSync-Objekte überwachen

Wenn Sie Config Sync mit der Google Cloud Console oder Google Cloud CLI installieren, erstellt Config Sync automatisch ein RootSync-Objekt für Sie. Wenn Sie die 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 kubectl-Befehlszeilentool 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 beschrieben, 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 eines ClusterRoleBinding-Objekts 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 nachdem Sie die in den vorherigen Abschnitten beschriebenen Tools verwendet haben. Die Untersuchung komplexer Fälle kann zeitaufwendig sein und erfordert umfassendes 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 Bereich Cloud Assist wird geöffnet. Sie können auf Beispiel-Prompts klicken, sofern sie angezeigt werden, oder einen Prompt im Feld Prompt eingeben eingeben.

Beispielprompts ansehen

Damit Sie besser verstehen, wie Gemini Cloud Assist Ihnen helfen kann, finden Sie hier einige Beispielprompts:

Thema Szenario Beispielprompt 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 des Features. Außerdem werden Details wie die Repository-URL, der Branch, der Pfad und die Authentifizierungsmethoden (z. B. public, token oder ssh) erläutert.
Fehlerbehebung bei Synchronisierungsfehlern 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-RootSync-Objekt zeigt "KNV2009: the server could not find the requested resource". Was bedeutet das und wie behebe ich das Problem? 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 nicht mit ihr interagieren kann. Anschließend werden häufige Ursachen aufgeführt, darunter fehlende RBAC-Berechtigungen, Überschreiten der Größenbeschränkungen für Ressourcenobjekte, falsche Verzeichnispfade, externe Bestandskonflikte und Probleme mit nicht verwalteten Ressourcen. Für jede Ursache werden spezifische Schritte zur Fehlerbehebung beschrieben.
Mehrere Teams verwalten Eine Organisation muss Anwendungsteams ermöglichen, 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 haben Clusterbereich und werden in der Regel von Administratoren für clusterweite Konfigurationen verwendet, während RepoSync-Objekte Namespacebereich haben und für Anwendungsteams entwickelt wurden, um Ressourcen in einem bestimmten Namespace zu verwalten. So werden die Delegierung und die Mandantenfähigkeit gefördert.

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 sicherstellen, dass sein neues Manifest gültig ist, bevor er es an das Repository übergibt, um zu vermeiden, dass die Synchronisierung in der Produktion unterbrochen wird. Wie kann ich meine Kubernetes-Manifeste auf meinem lokalen Computer auf Config Sync-Fehler prüfen, bevor ich sie an das Git-Repository übertrage? Gemini Cloud Assist erklärt, wie Sie Kubernetes-Manifeste mit dem nomos-Befehlszeilentool auf Config Sync-Fehler prüfen. Es wird beschrieben, wie Sie den Befehl nomos vet zur Syntaxvalidierung und den Befehl nomos hydrate verwenden, um gerenderte Konfigurationen aus Kustomize oder Helm in der Vorschau anzusehen. Gemini Cloud Assist beschreibt auch einen empfohlenen Workflow, um diese Prüfungen vor dem Übertragen an Git zu integrieren.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Gemini Cloud Assist-Prüfungen verwenden

Neben dem interaktiven Chat kann Gemini Cloud Assist mit Gemini Cloud Assist-Prüfungen auch automatisiertere und detailliertere Analysen durchführen. Dieses Feature ist direkt in Workflows wie dem Log-Explorer integriert und ist ein leistungsstarkes Tool zur Ursachenanalyse.

Wenn Sie eine Prüfung über einen Fehler oder eine bestimmte Ressource starten, analysiert Gemini Cloud Assist Logs, Konfigurationen und Messwerte. Anhand dieser Daten werden Beobachtungen und Hypothesen zu wahrscheinlichen Ursachen erstellt und anschließend empfohlene nächste Schritte vorgeschlagen. Sie können diese Ergebnisse auch an eine Google Cloud Supportanfrage übertragen, um wertvollen Kontext bereitzustellen, der Ihnen helfen kann, das Problem schneller zu beheben.

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

Zusätzliche Dokumentation zur Fehlerbehebung lesen

Wenn Sie weiterhin Probleme haben, sind die folgenden Ressourcen möglicherweise hilfreich:

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

  • Prüfen Sie, ob das Problem 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 Hilfeartikel Support erhalten . Dort finden Sie unter anderem Informationen zu folgenden Themen: