Resolver problemas de implantações de malhas de serviço do Cloud Service Mesh no GKE

Este guia contém informações para resolver problemas com as implantações de malha de serviço da API Gateway.

Informações no campo status

Todos os recursos da API Gateway têm um campo status que reflete o status dos recursos da perspectiva do controlador. Além do campo status, o controlador anexa eventos aos recursos da API Gateway para fornecer informações sobre as operações nesses recursos.

Por exemplo, use os seguintes comandos para inspecionar o status e os eventos de uma TDMesh:

kubectl describe tdmesh td-mesh

A saída será assim:

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

O status anterior indica que o controlador não começou a reconciliar essa malha específica. Se esse status durar mais de cinco minutos sem eventos anexados, leia a seção a seguir, O controlador não parece reconciliar um recurso TDMesh para mais soluções de problemas.

Use um método semelhante para depurar problemas relacionados a outros recursos, como HTTPRoute, TCPRoute e outros recursos de roteamento.

Geralmente, os status e eventos indicam o problema subjacente.

O controlador parece não reconciliar um recurso TDMesh

Para diagnosticar o problema, confirme se há um gke-td GatewayClass:

kubectl get gatewayclasses

A saída precisa incluir uma GatewayClass chamada gke-td.

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

Se um GatewayClass com esse nome não for retornado, siga Instalar as definições de recursos personalizados necessárias para confirmar se todos os CRDs necessários estão instalados no cluster de configuração e reativar o recurso hub para a malha de serviço do Google Kubernetes Engine do Cloud Service Mesh com o seguintes comandos:

  1. Desativar o recurso:

    gcloud container hub ingress disable
    
  2. Reativar o recurso:

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