Résoudre les problèmes de déploiement du maillage de services GKE Cloud Service Mesh

Ce guide contient des informations permettant de résoudre les problèmes liés aux déploiements du maillage de services de l'API Gateway.

Informations dans le champ status

Toutes les ressources de l'API Gateway comportent un champ status qui reflète l'état des ressources du point de vue du contrôleur. En plus du champ status, le contrôleur ajoute des événements aux ressources de l'API Gateway pour fournir des informations sur ses opérations sur ces ressources.

Par exemple, utilisez les commandes suivantes pour inspecter l'état et les événements d'un TDMesh :

kubectl describe tdmesh td-mesh

Le résultat ressemble à ce qui suit :

...
Status:
  Conditions:
    Last Transition Time:  1970-01-01T00:00:00Z
    Message:               Waiting for controller
    Reason:                NotReconciled
    Status:                False
    Type:                  Scheduled
Events:
...

L'état précédent indique que le contrôleur n'a pas commencé à rapprocher ce maillage. Si cet état dure plus de cinq minutes sans événement, consultez la section suivante, Le contrôleur ne semble pas rapprocher une ressource TDMesh pour résoudre le problème. le problème.

Vous pouvez utiliser une méthode similaire pour déboguer les problèmes liés à d'autres ressources, telles que HTTPRoute, TCPRoute et d'autres ressources de routage.

En général, les états et les événements indiquent le problème sous-jacent.

Le contrôleur ne semble pas rapprocher une ressource TDMesh

Pour diagnostiquer le problème, vérifiez qu'il existe un gke-td GatewayClass :

kubectl get gatewayclasses

Le résultat doit inclure un GatewayClass nommé gke-td.

NAME             CONTROLLER
gke-td           networking.gke.io/gateway

Si aucun objet GatewayClass portant ce nom n'est renvoyé, suivez la procédure Installer les définitions de ressources personnalisées requises pour vérifier que tous les objets CRD requis sont installés dans le cluster de configuration, puis réactivez la fonctionnalité Hub pour le maillage de services Google Kubernetes Engine Cloud Service Mesh à l'aide des commandes suivantes:

  1. Désactivez la fonctionnalité  :

    gcloud container hub ingress disable
    
  2. Réactivez la fonctionnalité :

    gcloud container hub ingress enable \
      --config-membership=/projects/PROJECT_ID/locations/global/memberships/gke-1