Resuelve problemas de configuración

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

Verifica MembershipState

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

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, podría significar que no se pudieron aplicar las configuraciones de malla (como los recursos personalizados de Istio). Las siguientes descripciones de códigos de error brindan más información sobre cómo abordarlos.

Código de error Causa Resolución
CONFIG_APPLY_INTERNAL_ERROR No se pudo aplicar una o más configuraciones debido a un error interno. Comunícate con asistencia al cliente.
QUOTA_EXCEEDED_* No se pudo aplicar una o más configuraciones porque 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 una configuración no válida. Los errores específicos se escriben en las configuraciones que los causaron. En la sección Errores de validación de la configuración, se describe más información para diagnosticar estos errores.
CONFIG_VALIDATION_WARNING Encontramos posibles problemas en una o más configuraciones. Es posible que no se hayan aplicado y, si se aplicaron, puede haber un comportamiento no deseado. En la sección Errores de validación de la configuración, se describe más información para diagnosticar estos errores.
MULTICLUSTER_SECRET_WARNING El clúster usa un secreto de varios clústeres de Istio creado de forma manual en lugar de usar la API declarativa de varios clústeres para el descubrimiento de extremos. Mueve la configuración de descubrimiento de extremos de varios clústeres a la implementación declarativa. Puedes ver más información en la página Secretos de varios clústeres.
WORKLOAD_IDENTITY_REQUIRED Workload Identity no está habilitada para el clúster o al menos uno de los grupos de nodos. Habilita Workload Identity a nivel del clúster y del grupo de nodos. Para obtener instrucciones, consulta la página Habilita Workload Identity.
MANAGED_CNI_NOT_ENABLED CNI administrado no está habilitado para este clúster. Habilita CNI administrado para mantener las prácticas recomendadas dentro de tu malla. Puedes ver más información en la página Habilita CNI administrado.
NON_STANDARD_SIDECAR_BINARY_USAGE Uno o más comandos dentro de los contenedores de Istio usan objetos binarios distintos de `envoy`, `pilot_agent` o `iptables`. Quita la dependencia de objetos binarios no compatibles. Puedes ver más información en la página Uso de objetos binarios no compatibles.
UNSUPPORTED_GATEWAY_CLASS_USAGE El clúster está configurado con clases de puerta de enlace (Istio y Anthos Service Mesh) que requieren la migración a la puerta de enlace de entrada de Istio para alinearse con las prácticas recomendadas. Consulta la documentación para obtener instrucciones detalladas.
UNSUPPORTED_MULTIPLE_CONTROL_PLANES El clúster aprovisionó varios canales del plano de control. Cloud Service Mesh solo admite un canal por clúster. Para obtener más información, consulta Corrige varios planos de control.
REQUIRED_ORG_POLICY_DISABLED Se debe habilitar una política de la organización inhabilitada. Inhabilita esta política para el proyecto para garantizar la funcionalidad de Cloud Service Mesh. Para obtener más información, consulta Habilita una política de la organización obligatoria.

Errores de validación de la configuración

Los códigos CONFIG_VALIDATION_WARNING y CONFIG_VALIDATION_ERROR indican que se encontraron problemas en las configuraciones de malla (recursos personalizados de Istio o Kubernetes Custom Resources) 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 aplicable. Se puede usar el siguiente comando para ubicar las configuraciones no válidas y ver los mensajes de error específicos. (Nota: Estos son específicamente 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"
    }
  ]
}