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

Questa guida contiene informazioni per la risoluzione dei problemi relativi ai deployment di reti mesh di servizi 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 delle sue operazioni su quelle risorse.

Ad esempio, utilizza i seguenti comandi per esaminare 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 dura più di 5 minuti senza eventi aggiunti, leggi la sezione seguente, Il controller non sembra riconciliare una risorsa TDMesh per risolvere 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 di base.

Il controller non sembra riconciliare una risorsa TDMesh

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

kubectl get gatewayclasses

L'output deve includere un 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. Disattiva 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