Soluciona problemas de implementaciones de mallas de servicios de GKE de Cloud Service Mesh
En esta guía, encontrarás información para resolver problemas con las implementaciones de malla de servicios de la API de puerta de enlace.
Información del campo status
Todos los recursos de la API de puerta de enlace tienen un campo status
que refleja el estado de los recursos desde la perspectiva del controlador. Además del campo status
, el controlador agrega eventos a los recursos de la API de puerta de enlace para proporcionar información sobre sus operaciones en esos recursos.
Por ejemplo, usa los siguientes comandos para inspeccionar el estado y los eventos de un TDMesh
:
kubectl describe tdmesh td-mesh
El resultado es similar a este:
... Status: Conditions: Last Transition Time: 1970-01-01T00:00:00Z Message: Waiting for controller Reason: NotReconciled Status: False Type: Scheduled Events: ...
El estado anterior indica que el controlador no comenzó a conciliar
esta malla en particular. Si este estado dura más de 5 minutos sin eventos agregados, lee la siguiente sección, El controlador no concilia un recurso TDMesh
, para solucionar el problema.
Puedes usar un método similar para depurar problemas relacionados con otros recursos, como HTTPRoute
, TCPRoute
y otros recursos de enrutamiento.
Por lo general, los estados y eventos indican el problema subyacente.
Parece que el controlador no concilia un recurso TDMesh
.
Para diagnosticar el problema, confirma que exista una GatewayClass
gke-td
:
kubectl get gatewayclasses
El resultado debe incluir una GatewayClass
llamada gke-td
.
NAME CONTROLLER gke-td networking.gke.io/gateway
Si no se muestra un GatewayClass
con ese nombre, sigue Instala las definiciones de recursos personalizados necesarias para confirmar todas las CRD necesarias en el clúster de configuración y vuelve a habilitar la función de concentrador para la malla de servicios de Google Kubernetes Engine de Cloud Service Mesh con los siguientes comandos:
Inhabilita la función:
gcloud container hub ingress disable
Para volver a habilitar la función, sigue estos pasos:
gcloud container hub ingress enable \ --config-membership=/projects/PROJECT_ID/locations/global/memberships/gke-1