Konfigurationsprobleme beheben
In diesem Abschnitt werden häufig auftretende Probleme bei Cloud Service Mesh und deren Behebung beschrieben. Weitere Informationen finden Sie unter Support.
„MembershipState“ prüfen
Sie können den aktuellen Status des Mesh jederzeit mit dem folgenden Befehl prüfen:
gcloud container fleet mesh describe
Die Ausgabe sieht etwa so aus:
...
membershipSpecs:
projects/project_id/locations/global/memberships/cluster:
mesh:
management: MANAGEMENT_AUTOMATIC
membershipStates:
projects/project_id/locations/global/memberships/cluster:
servicemesh:
...
conditions:
- code: CONFIG_VALIDATION_WARNING
documentationLink: https://cloud.google.com/...
details: Application of one or more configs has failed. Error details are shown on individual config resources. See documentation link for more detail.
severity: WARNING
...
Fehlercodes für „MembershipState“
Wenn Cloud Service Mesh Bedingungen zum „MembershipState“ eines Clusters meldet, kann dies bedeuten, dass Mesh-Konfigurationen (z. B. benutzerdefinierte Istio-Ressourcen) nicht angewendet werden konnten. Die folgenden Beschreibungen für Fehlercodes enthalten weitere Informationen zur Behebung der Fehler.
| Fehlercode | Ursache | Lösung |
|---|---|---|
CONFIG_APPLY_INTERNAL_ERROR |
Mindesten eine Konfiguration konnte aufgrund eines internen Fehlers nicht angewendet werden. | Bitte kontaktiere den Kundensupport. |
QUOTA_EXCEEDED_* |
Mindestens eine Konfiguration konnte nicht angewendet werden, da das Kontingent für Ressourcen ausgeschöpft wurde. | Informationen zu den einzelnen Kontingenten und wie Sie diese erhöhen können, finden Sie unter Kontingente. |
CONFIG_VALIDATION_ERROR |
Mindestens eine Konfiguration konnte aufgrund einer ungültigen Konfiguration nicht angewendet werden. | Die einzelnen Fehler werden in die Konfigurationen geschrieben, in denen sie aufgetreten sind. Weitere Informationen zur Diagnose dieser Fehler finden Sie im Abschnitt Fehler bei der Konfigurationsvalidierung. |
CONFIG_VALIDATION_WARNING |
In mindestens einer Konfiguration sind potenzielle Probleme aufgetreten. Sie wurden möglicherweise nicht angewendet. Wenn sie doch angewendet wurden, kann es zu unerwartetem Verhalten kommen. | Weitere Informationen zur Diagnose dieser Fehler finden Sie im Abschnitt Fehler bei der Konfigurationsvalidierung. |
MULTICLUSTER_SECRET_WARNING |
Der Cluster verwendet ein manuell erstelltes Istio-Multi-Cluster-Secret anstelle der deklarativen Multi-Cluster-API für die Endpunkterkennung. | Richten Sie die Multi-Cluster-Endpunkterkennung mit der deklarativen Implementierung ein. Weitere Informationen finden Sie auf der Seite Multi-Cluster-Secrets. |
WORKLOAD_IDENTITY_REQUIRED |
Workload Identity ist für den Cluster oder mindestens einen der Knotenpools nicht aktiviert. | Aktivieren Sie Workload Identity auf Cluster- und Knotenpoolebene. Eine Anleitung finden Sie auf der Seite Workload Identity aktivieren. |
MANAGED_CNI_NOT_ENABLED |
Managed CNI ist für diesen Cluster nicht aktiviert. | Aktivieren Sie Managed CNI, um Best Practices in Ihrem Mesh einzuhalten. Weitere Informationen finden Sie auf der Seite Managed CNI aktivieren. |
NON_STANDARD_SIDECAR_BINARY_USAGE |
In einem oder mehreren Befehlen in Istio-Containern werden andere Binärdateien als `envoy`, `pilot_agent` oder `iptables` verwendet. | Entfernen Sie die Abhängigkeit von nicht unterstützten Binärdateien. Weitere Informationen finden Sie auf der Seite Verwendung nicht unterstützter Binärdateien. |
UNSUPPORTED_GATEWAY_CLASS_USAGE |
Der Cluster ist mit Gateway-Klassen (Istio und Anthos Service Mesh) konfiguriert, die zur Einhaltung von Best Practices zum Istio Ingress Gateway migriert werden müssen. | Eine detaillierte Anleitung finden Sie in der Dokumentation. |
UNSUPPORTED_MULTIPLE_CONTROL_PLANES |
Für den Cluster wurden mehrere Versionen der Steuerungsebene bereitgestellt. Cloud Service Mesh unterstützt nur eine Version pro Cluster. | Weitere Informationen finden Sie unter Mehrere Steuerungsebenen beheben. |
REQUIRED_ORG_POLICY_DISABLED |
Eine deaktivierte Organisationsrichtlinie muss aktiviert werden. | Deaktivieren Sie diese Richtlinie für das Projekt, um die Cloud Service Mesh-Funktionalität zu gewährleisten. Weitere Informationen finden Sie unter Erforderliche Organisationsrichtlinie aktivieren. |
Fehler bei der Konfigurationsvalidierung
CONFIG_VALIDATION_WARNING und CONFIG_VALIDATION_ERROR
Codes weisen auf Probleme in Mesh-Konfigurationen (Istio- oder benutzerdefinierte Kubernetes
Ressourcen) und darauf hin, dass eine Teilmenge der Konfigurationen möglicherweise nicht richtig
angewendet wurde.
Viele Fehlerdetails für eine Ressource werden in die entsprechende Ressource geschrieben. Mit dem folgenden Befehl können Sie die ungültigen Konfigurationen finden und die spezifischen Fehlermeldungen aufrufen. Hinweis: Die Befehle gelten speziell für Istio-Ressourcen. Möglicherweise werden hier nicht alle Validierungsfehler angezeigt.
for resource in serviceentries destinationrules virtualservices gateways peerauthentications authorizationpolicies requestauthentications sidecars telemetries envoyfilters;
do kubectl get $resource --all-namespaces --output=json | \
jq '.items[] | select(.status.conditions != null and any(.status.conditions[]; .type == "Accepted" and .status == "False")) | {"name": .metadata.name, "namespace": .metadata.namespace, "kind": .kind, "conditions": .status.conditions}';
done
Die Ausgabe sieht etwa so aus:
{
"name": "demo-envoy-filter",
"namespace": "default",
"kind": "EnvoyFilter",
"conditions": [
{
"lastTransitionTime": "2024-04-04T21:10:18.046975988Z",
"message": "This API is not supported",
"reason": "Invalid",
"status": "False",
"type": "Accepted"
}
]
}