Risolvere i problemi di deployment del mesh di servizi GKE di Traffic Director

Questa guida contiene informazioni per la risoluzione dei problemi relativi ai deployment 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 operazioni eseguite su queste risorse.

Ad esempio, utilizza i seguenti comandi per esaminare lo stato e gli eventi di 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 questo mesh specifico. 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 di problemi relativi ad altre risorse, ad esempio HTTPRoute, TCPRoute e altre risorse di routing.

In genere, gli stati e gli eventi indicano il problema di fondo.

Il controller non sembra riconciliare una risorsa TDMesh

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

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 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à hub per il mesh di servizi Google Kubernetes Engine di Traffic Director con i comandi seguenti:

  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