Fehlerbehebung

Auf dieser Seite finden sich einige gängige Fehler, die bei der Verwendung von Config Connector auftreten können, sowie Anleitungen zur Fehlerbehebung.

Häufige Fehlermeldungen

Keine Übereinstimmungen für Typ Foo

Wird dieser Fehler ausgegeben, so ist die CRD für den Ressourcentyp „Foo“ im Kubernetes-Cluster nicht installiert.

Überprüfen Sie zuerst, ob sich die Typ in Config Connector-Ressourcen befindet.

Wenn der Typ aufgeführt ist, ist das Problem entweder veraltet oder eine ungültige Config Connector-Installation. Upgrades mit dem GKE-Add-on werden automatisch ausgeführt. Upgrades für manuelle Installationen finden Sie unter Auf anderen Kubernetes-Distributionen installieren.

Keine status für Ressourcen angezeigt

Wenn angewendete Ressourcen nicht das Feld status enthalten, liegt das wahrscheinlich daran, dass die Pods, die zu Config Connector gehören, nicht ordnungsgemäß funktionieren.

Prüfen Sie den cnrm-system-Namespace auf fehlerhafte Pods:

kubectl get pods -n cnrm-system --field-selector status.phase!=Running

spec.labels werden nicht auf die zugrunde liegenden Google Cloud-Ressourcen angewendet

Config Connector überträgt Labels aus metadata.labels an die zugrunde liegenden Google Cloud APIs. Sie sollten in der Ressource spec keine Labels angeben und alle in spec.labels angegebenen Labels werden ignoriert.

Weitere Informationen finden Sie unter Objektmetadaten.

FAQ

Wann wird Version XX des Config Connector als GKE-Add-on verfügbar?

Die Version des Add-ons für Config Connector ist an die GKE-Version gebunden, die bis zu 10 Wochen nach der letzten Version liegt (Variable nach Kanal und Version im Kanal).

Wenn Sie mehr Kontrolle über die Version haben möchten, finden Sie weitere Informationen unter Von einer Installation zu einer manuellen Installation wechseln.

Messwerte

Messwerte für das Kopieren durch Prometheus werden angezeigt.

Logging

Alle Pods, die Teil von Config Connector sind, werden im JSON-Format protokolliert.

Die Logs für den Pod cnrm-controller-manager oder die Pods sind besonders nützlich, wenn Sie Probleme beim Abgleich bestimmter Ressourcen beheben.

Das Filtern nach folgenden Feldern ist nützlich, wenn Sie Ihre Logs prüfen:

  • logger: Enthält die Art der Ressource. Beispiel: PubSubTopic-Ressourcen haben einen logger von pubsubtopic-controller.
  • resource.namespace: Enthält den Namespace der Ressource.
  • resource.name: enthält den Namen der Ressource.

Nachrichten für eine bestimmte Ressource protokollieren

Wenn Sie GKE verwenden, können Sie mit folgender Abfrage Logs abfragen:

# Filter to include only logs coming from the cnrm-controller-manager Pods
resource.type="k8s_container"
resource.labels.container_name="manager"
resource.labels.namespace_name="cnrm-system"
labels.k8s-pod/cnrm_cloud_google_com/component="cnrm-controller-manager"

# Filter to include only logs coming from a particular GKE cluster
resource.labels.cluster_name="GKE_CLUSTER_NAME"
resource.labels.location="GKE_CLUSTER_LOCATION"

# Filter to include only logs for a particular Config Connector resource
jsonPayload.logger="RESOURCE_KIND-controller"
jsonPayload.resource.namespace="RESOURCE_NAMESPACE"
jsonPayload.resource.name="RESOURCE_NAME"

Dabei gilt:

  • GKE_CLUSTER_NAME durch den Namen des GKE-Clusters, in dem Config Connector ausgeführt wird
  • GKE_CLUSTER_LOCATION mit dem Standort des GKE-Clusters, in dem Config Connector ausgeführt wird. Beispiel: us-central1.
  • RESOURCE_KIND durch die Art der Ressource in Kleinbuchstaben. Beispiel: pubsubtopic
  • RESOURCE_NAMESPACE mit dem Namespace der Ressource.
  • RESOURCE_NAME mit dem Namen der Ressource.

Zusätzliche Hilfe

Wenn Sie weitere Hilfe benötigen, können Sie ein Problem auf GitHub melden oder den Google Cloud-Support kontaktieren.

Geben Sie beim Einreichen von Tickets die Ausgabe des Skripts Clusterdiagnose ein.

Bei Unix-basierten Betriebssystemen kann das Skript mit dem folgenden Befehl ausgeführt werden:

source <(curl -s
  https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-config-connector/master/scripts/cluster-diagnostics.sh)