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 Mitgliedschaftsstatus für einen Cluster meldet, konnten Mesh-Konfigurationen (z. B. benutzerdefinierte Istio-Ressourcen) möglicherweise nicht angewendet werden. In den folgenden Beschreibungen der Fehlercodes finden Sie weitere Informationen zur Behebung.

Fehlercode Ursache Auflösung
CONFIG_APPLY_INTERNAL_ERROR Die Anwendung einer oder mehrerer Konfigurationen ist aufgrund eines internen Fehlers fehlgeschlagen. Bitte wenden Sie sich an den Kundensupport.
QUOTA_EXCEEDED_* Die Anwendung einer oder mehrerer Konfigurationen ist fehlgeschlagen, da das Kontingent für die Ressourcen erreicht wurde. Informationen zu den einzelnen 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 Bei einer oder mehreren Konfigurationen sind potenzielle Probleme aufgetreten. Diese Änderungen wurden möglicherweise nicht angewendet. Falls doch, kann es zu unerwarteten Verhaltensweisen kommen. Weitere Informationen zur Diagnose dieser Fehler finden Sie im Abschnitt Fehler bei der Konfigurationsvalidierung.

Fehler bei der Konfigurationsvalidierung

Die Codes CONFIG_VALIDATION_WARNING und CONFIG_VALIDATION_ERROR weisen darauf hin, dass Probleme mit Mesh-Konfigurationen (Istio- oder benutzerdefinierte Kubernetes-Ressourcen) gefunden wurden und dass einige Konfigurationen möglicherweise nicht richtig angewendet wurden.

Viele Fehlerdetails pro Ressource werden in die entsprechende Ressource geschrieben. Mit dem folgenden Befehl können Sie die ungültigen Konfigurationen finden und die entsprechenden Fehlermeldungen aufrufen. Hinweis: Diese Informationen beziehen sich speziell auf Istio-Ressourcen. Es werden möglicherweise 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"
    }
  ]
}