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

Questa guida contiene informazioni per la risoluzione dei problemi relativi ai deployment del mesh di servizi dell'API Gateway.

Informazioni nel campo status

Tutte le risorse dell'API Gateway hanno un campo status che riflette lo stato delle risorse 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 quelle risorse.

Ad esempio, utilizza i comandi seguenti per esaminare lo stato e gli eventi di un elemento 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 avviato la riconciliazione di questo particolare mesh. Se questo stato dura più di 5 minuti senza eventi aggiunti, leggi la sezione seguente, 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, ad esempio HTTPRoute, TCPRoute e altre risorse di routing.

Di solito, 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 GatewayClass gke-td:

kubectl get gatewayclasses

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

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

Se non viene restituito un valore GatewayClass con questo nome, segui Installa le definizioni delle risorse personalizzate richieste per confermare che tutti i CRD richiesti siano installati nel cluster di configurazione, quindi riattiva la funzionalità dell'hub per il mesh di servizi Google Kubernetes Engine Cloud Service Mesh con i comandi seguenti:

  1. Per disattivare la funzionalità:

    gcloud container hub ingress disable
    
  2. Riattiva la funzione:

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