Solucionar problemas de configuración

En esta sección se explican los problemas habituales de Cloud Service Mesh y cómo resolverlos. Si necesitas más ayuda, consulta el artículo Obtener asistencia.

Comprobando MembershipState

Puedes consultar el estado más reciente de la malla en cualquier momento ejecutando el siguiente comando:

gcloud container fleet mesh describe

La salida es similar a la siguiente:

...
membershipSpecs:
  projects/project_id/locations/global/memberships/cluster:
    mesh:
      management: MANAGEMENT_AUTOMATIC
membershipStates:
  projects/project_id/locations/global/memberships/cluster:
    servicemesh:
      ...
      conditions:
        - code: CONFIG_VALIDATION_WARNING
          documentationLink: https://cloud.google.com/...
          details: Application of one or more configs has failed. Error details are shown on individual config resources. See documentation link for more detail.
          severity: WARNING
...

Códigos de error de MembershipState

Si Cloud Service Mesh informa de las condiciones de MembershipState de un clúster, podría significar que no se han podido aplicar las configuraciones de la malla (como los recursos personalizados de Istio). En las descripciones de los códigos de error que se indican a continuación, se ofrece más información sobre cómo solucionarlos.

Código de error Causa Resolución
CONFIG_APPLY_INTERNAL_ERROR No se han podido aplicar una o varias configuraciones debido a un error interno. Ponte en contacto con el servicio de asistencia.
QUOTA_EXCEEDED_* No se han podido aplicar una o varias configuraciones porque los recursos han alcanzado el límite de cuota. Consulta Cuotas para obtener información sobre las cuotas específicas y cómo aumentarlas.
CONFIG_VALIDATION_ERROR No se han podido aplicar una o varias configuraciones porque no son válidas. Los errores específicos se escriben en las configuraciones que los han provocado. En la sección Errores de validación de la configuración se describe cómo diagnosticar estos errores.
CONFIG_VALIDATION_WARNING Hemos detectado posibles problemas en una o varias configuraciones. Es posible que no se hayan aplicado y, si se han aplicado, puede que se produzcan comportamientos imprevistos. En la sección Errores de validación de la configuración se describe cómo diagnosticar estos errores.

Errores de validación de la configuración

Los códigos CONFIG_VALIDATION_WARNING y CONFIG_VALIDATION_ERROR indican que se han encontrado problemas en las configuraciones de malla (recursos personalizados de Istio o Kubernetes) y que es posible que no se haya aplicado correctamente un subconjunto de configuraciones.

Muchos detalles de errores por recurso se escriben en el recurso correspondiente. Puedes usar el siguiente comando para localizar las configuraciones no válidas y ver los mensajes de error específicos. Nota: Estos errores son específicos de los recursos de Istio y es posible que no se muestren todos los errores de validación.

for resource in serviceentries destinationrules virtualservices gateways peerauthentications authorizationpolicies requestauthentications sidecars telemetries envoyfilters;
  do kubectl get $resource --all-namespaces --output=json | \
   jq  '.items[] | select(.status.conditions != null and any(.status.conditions[]; .type == "Accepted" and .status == "False")) | {"name": .metadata.name, "namespace": .metadata.namespace, "kind": .kind, "conditions": .status.conditions}';
done

La salida es similar a la siguiente:

{
  "name": "demo-envoy-filter",
  "namespace": "default",
  "kind": "EnvoyFilter",
  "conditions": [
    {
      "lastTransitionTime": "2024-04-04T21:10:18.046975988Z",
      "message": "This API is not supported",
      "reason": "Invalid",
      "status": "False",
      "type": "Accepted"
    }
  ]
}