Risolvi i problemi di deployment del mesh di servizi GKE di Cloud Service Mesh

Questa guida contiene informazioni per la risoluzione dei problemi relativi al servizio API Gateway deployment mesh.

Informazioni nel campo status

Tutte le risorse dell'API Gateway hanno un campo status che riflette lo stato dal punto di vista del controller. Oltre al campo status, il controller aggiunge eventi alle risorse dell'API Gateway per fornire informazioni sulle sue operazioni su queste risorse.

Ad esempio, utilizza i seguenti comandi per controllare lo stato e gli eventi di un TDMesh:

kubectl describe tdmesh td-mesh

L'output è simile al seguente:

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

Lo stato precedente indica che il controller non ha iniziato a riconciliare questa particolare mesh. Se questo stato persiste per più di 5 minuti senza che vengano aggiunti eventi, consulta la sezione Il controller non sembra riconciliare una risorsa TDMesh per risolvere ulteriormente il problema.

Puoi utilizzare un metodo simile per eseguire il debug dei problemi relativi ad altre risorse, come HTTPRoute, TCPRoute e altre risorse di routing.

In genere, gli stati e gli eventi indicano il problema sottostante.

Il controller non sembra riconciliare una risorsa TDMesh

Per diagnosticare il problema, verifica che esista un gke-td GatewayClass:

kubectl get gatewayclasses

L'output dovrebbe includere un valore GatewayClass denominato gke-td.

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

Se non viene restituito un GatewayClass con quel nome, segui la procedura Installare le definizioni di risorse personalizzate richieste per verificare che tutte le CRD richieste siano installate nel cluster di configurazione, quindi riattiva la funzionalità hub per il servizio mesh Google Kubernetes Engine di Cloud Service Mesh con i seguenti comandi:

  1. Per disattivare la funzionalità:

    gcloud container hub ingress disable
    
  2. Riattiva la funzionalità:

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