Fehlerbehebung bei Deployments des Cloud Service Mesh GKE Service Mesh
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
Installieren Sie die erforderlichen benutzerdefinierten Ressourcendefinitionen.
Prüfen Sie, ob alle erforderlichen CRDs im Konfigurationscluster installiert sind, und aktivieren Sie sie dann noch einmal
das Hub-Feature für das Cloud Service Mesh Google Kubernetes Engine Service Mesh mit dem
folgenden Befehle:
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