Konfigurationsprobleme beheben
In diesem Abschnitt werden häufig auftretende Cloud Service Mesh-Probleme und deren Behebung erläutert. 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 für den MembershipState eines Clusters meldet, bedeutet das möglicherweise, dass Mesh-Konfigurationen (z. B. benutzerdefinierte Istio-Ressourcen) nicht angewendet werden konnten. Die folgenden Beschreibungen von Fehlercodes enthalten weitere Informationen dazu, wie Sie die Fehler beheben können.
Fehlercode | Ursache | Auflösung |
---|---|---|
CONFIG_APPLY_INTERNAL_ERROR |
Eine oder mehrere Konfigurationen konnten aufgrund eines internen Fehlers nicht angewendet werden. | Wende dich an den Kundensupport. |
QUOTA_EXCEEDED_* |
Eine oder mehrere Konfigurationen konnten nicht angewendet werden, da das Kontingentlimit für Ressourcen erreicht wurde. | Informationen zu den spezifischen Kontingenten und dazu, wie Sie sie erhöhen können, finden Sie unter Kontingente. |
CONFIG_VALIDATION_ERROR |
Mindestens eine Konfiguration konnte aufgrund einer ungültigen Konfiguration nicht angewendet werden. | Spezifische Fehler werden in die Konfigurationen geschrieben, die sie verursacht haben. 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. Möglicherweise wurden sie nicht angewendet. Wenn sie 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. | Einrichtung der Multi-Cluster-Endpunkterkennung auf die deklarative Implementierung umstellen. 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. | Workload Identity auf Cluster- und Knotenpoolebene aktivieren. 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 Nicht unterstützte Binärdateien. |
UNSUPPORTED_GATEWAY_CLASS_USAGE |
Der Cluster ist mit Gateway-Klassen (Istio und Anthos Service Mesh) konfiguriert, die eine Migration zum Istio-Ingress-Gateway erfordern, um Best Practices zu entsprechen. | Eine detaillierte Anleitung finden Sie in der Dokumentation. |
UNSUPPORTED_MULTIPLE_CONTROL_PLANES |
Für den Cluster wurden mehrere Steuerungsebenenkanäle bereitgestellt. Cloud Service Mesh unterstützt nur einen Channel pro Cluster. | Weitere Informationen finden Sie unter Mehrere Steuerungsebenen korrigieren. |
Konfigurationsvalidierungsfehler
Die Codes CONFIG_VALIDATION_WARNING
und CONFIG_VALIDATION_ERROR
weisen darauf hin, dass Probleme in Mesh-Konfigurationen (Istio oder benutzerdefinierte Kubernetes-Ressourcen) gefunden wurden und dass eine Teilmenge der Konfigurationen möglicherweise nicht richtig angewendet wurde.
Viele Fehlerdetails pro 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: Diese sind speziell für Istio-Ressourcen bestimmt. 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"
}
]
}