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-Netzwerks jederzeit prüfen, indem Sie den folgenden Befehl ausführen:

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. Die folgenden Fehlercodebeschreibungen enthalten weitere Informationen zur Behebung des jeweiligen Fehlers.

Fehlercode Ursache Auflösung
CONFIG_APPLY_INTERNAL_ERROR Mindestens eine Konfiguration konnte aufgrund eines internen Fehlers nicht angewendet werden. 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 Konfigurationsüberprüfung.
CONFIG_VALIDATION_WARNING In mindestens einer Konfiguration sind potenzielle Probleme aufgetreten. Sie wurden möglicherweise nicht angewendet, sondern können zu unerwünschtem Verhalten führen. Weitere Informationen zur Diagnose dieser Fehler finden Sie im Abschnitt Fehler bei der Konfigurationsüberprüfung.

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 gelten speziell für Istio-Ressourcen und es können nicht alle Validierungsfehler angezeigt werden.

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"
    }
  ]
}