Fehlerbehebung bei Cloud Service Mesh-GKE-Service-Mesh-Bereitstellungen
Diese Anleitung enthält Informationen zum Beheben von Problemen bei Service-Mesh-Bereitstellungen mit der Gateway API.
Informationen im Feld status
Alle Gateway API-Ressourcen haben ein Feld status
, das den Status von Ressourcen aus Sicht des Controllers widerspiegelt. Zusätzlich zum Feld status
hängt der Controller Ereignisse an Gateway API-Ressourcen an, um Informationen zu den Vorgängen für diese Ressourcen bereitzustellen.
Verwenden Sie beispielsweise die folgenden Befehle, um den Status und die Ereignisse eines TDMesh
zu prüfen:
kubectl describe tdmesh td-mesh
Die Ausgabe sieht etwa so aus:
... Status: Conditions: Last Transition Time: 1970-01-01T00:00:00Z Message: Waiting for controller Reason: NotReconciled Status: False Type: Scheduled Events: ...
Der vorherige Status gibt an, dass der Controller noch nicht begonnen hat, dieses Mesh-Netzwerk abzugleichen. Wenn dieser Status länger als 5 Minuten andauert, ohne dass Ereignisse angehängt werden, lesen Sie den folgenden Abschnitt Controller scheint keine TDMesh
-Ressource abzugleichen, um die Fehlerbehebung fortzuführen.
Sie können eine ähnliche Methode verwenden, um Probleme im Zusammenhang mit anderen Ressourcen wie HTTPRoute
, TCPRoute
und anderen Routingressourcen zu beheben.
Normalerweise zeigen die Status und Ereignisse das zugrunde liegende Problem an.
Controller scheint keine TDMesh
-Ressource abzugleichen
Um das Problem zu diagnostizieren, prüfen Sie, ob eine gke-td
-GatewayClass
vorhanden ist:
kubectl get gatewayclasses
Die Ausgabe sollte eine GatewayClass
namens gke-td
enthalten.
NAME CONTROLLER gke-td networking.gke.io/gateway
Wenn keine GatewayClass
mit diesem Namen zurückgegeben wird, folgen Sie der Anleitung unter Erforderliche benutzerdefinierte Ressourcendefinitionen installieren, um zu prüfen, ob alle erforderlichen CRDs im Konfigurationscluster installiert sind. Aktivieren Sie dann wieder das die Hub-Feature für das Cloud Service Mesh-Google Kubernetes Engine-Service-Mesh mit den folgenden Befehlen:
Deaktivieren Sie das Feature:
gcloud container hub ingress disable
Aktivieren Sie das Feature wieder:
gcloud container hub ingress enable \ --config-membership=/projects/PROJECT_ID/locations/global/memberships/gke-1