Cómo resolver problemas de configuración

En esta sección, se explican los problemas comunes de Cloud Service Mesh y cómo resolverlos. Si necesitas asistencia adicional, consulta Obtén asistencia.

Cómo verificar MembershipState

En cualquier momento, puedes ejecutar el siguiente comando para verificar el estado más reciente de la malla:

gcloud container fleet mesh describe

El resultado es similar al 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 condiciones a MembershipState para un clúster, es posible que no se hayan podido aplicar las configuraciones de malla (como los recursos personalizados de Istio). En las siguientes descripciones de códigos de error, se proporciona más información para abordarlos.

Código de error Causa Resolución
CONFIG_APPLY_INTERNAL_ERROR No se pudieron aplicar uno o más parámetros de configuración debido a un error interno. Comunícate con el equipo de asistencia al cliente.
QUOTA_EXCEEDED_* No se pudieron aplicar una o más configuraciones debido a que los recursos alcanzaron un límite de cuota. Consulta Cuotas para obtener información sobre las cuotas específicas y cómo aumentarlas.
CONFIG_VALIDATION_ERROR No se pudo aplicar una o más configuraciones debido a que la configuración no es válida. Los errores específicos se escriben en los parámetros de configuración que los causaron. En la sección Errores de validación de configuración, se describe cómo diagnosticarlos.
CONFIG_VALIDATION_WARNING Detectamos posibles problemas en una o más configuraciones. Es posible que no se hayan aplicado, y si se aplicaron, es posible que se produzca un comportamiento imprevisto. En la sección Errores de validación de configuración, se describe cómo diagnosticarlos.

Errores de validación de la configuración

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

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

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

El resultado es similar al 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"
    }
  ]
}