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 verificar el estado más reciente de la malla ejecutando 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 la malla (como los recursos personalizados de Istio). Las siguientes descripciones de los códigos de error brindan más información para 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 el equipo de asistencia al cliente. |
QUOTA_EXCEEDED_* |
No se pudo 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 una configuración no válida. | Los errores específicos se escriben en los archivos de configuración que los causaron. En la sección Errores de validación de la configuración, se describe cómo diagnosticar estos errores. |
CONFIG_VALIDATION_WARNING |
Detectamos 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 cómo diagnosticar estos errores. |
MULTICLUSTER_SECRET_WARNING |
El clúster usa un secreto de varios clústeres de Istio creado manualmente en lugar de usar la API declarativa de varios clústeres para el descubrimiento de extremos. | Se trasladó la configuración del descubrimiento de extremos de varios clústeres a la implementación declarativa. Puedes encontrar 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. Si deseas 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 encontrar más información en la página Habilita la CNI administrada. |
NON_STANDARD_SIDECAR_BINARY_USAGE |
Uno o más comandos dentro de los contenedores de Istio usan archivos binarios distintos de "envoy", "pilot_agent" o "iptables". | Se quitó la dependencia de los archivos binarios no admitidos. Puedes obtener más información en la página Uso de binarios no admitidos. |
UNSUPPORTED_GATEWAY_CLASS_USAGE |
El clúster está configurado con clases de puerta de enlace (Istio y Anthos Service Mesh) que requieren migración a la puerta de enlace de Istio Ingress 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 Cómo corregir varios planos de control. |
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) 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. 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í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"
}
]
}