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