Información sobre las condiciones del estado de la función
Nota: Los servicios canónicos son compatibles de forma automática en Cloud Service Mesh versión 1.6.8 y versiones posteriores.
En esta página, se describe cómo interpretar las condiciones informadas en tu clúster o flota de Service Mesh de Cloud y cómo actuar en función de ellas.
Para verificar las condiciones, ejecuta este comando:
gcloud container fleet mesh describe --project FLEET_PROJECT
El resultado puede incluir conditions
en membershipStates
para un clúster, como el siguiente:
...
membershipStates:
projects/test-project/locations/us-central1/memberships/my-membership:
servicemesh:
conditions:
- code: <CONDITION_CODE>
details: ...
documentationLink: ....
severity: ...
Los valores de code
se describen con más detalle en esta página.
NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
Es posible que veas el código de error NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
en el campo Conditions
de tu membresía:
membershipStates:
projects/test-project/locations/us-central1/memberships/my-membership:
servicemesh:
conditions:
- code: NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
details: One or more node pools have workload identity federation disabled.
documentationLink: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
severity: ERROR
controlPlaneManagement:
details:
- code: REVISION_FAILED_PRECONDITION
details: Required in-cluster components are not ready. This will be retried
within 15 minutes.
implementation: TRAFFIC_DIRECTOR
state: FAILED_PRECONDITION
Este error se muestra si el clúster de GKE no tiene habilitada la federación de identidades para cargas de trabajo en todos los grupos de nodos de ese clúster, ya que este es un requisito previo para la instalación de Cloud Service Mesh.
Para resolver este mensaje de error, debes seguir las instrucciones para habilitar la federación de identidades para cargas de trabajo en todos los grupos de nodos. Ten en cuenta que la habilitación puede variar según el caso específico del clúster.
Después de la habilitación, el mensaje de error debería quitarse automáticamente y el clúster debería volver al estado ACTIVE
. Si el problema persiste y necesitas asistencia adicional, consulta Obtén asistencia.
MESH_IAM_PERMISSION_DENIED
Este error indica que la cuenta de servicio no tiene permisos suficientes para acceder a tu proyecto de flota. Sigue los pasos para solucionar el problema:
Verifica si tu cuenta de servicio otorgó el rol
Anthos Service Mesh Service Agent
. Para obtener detalles sobre cómo verificar y agregar el permiso de IAM, ve a Las revisiones se informan como un error no saludable y sigue los mismos pasos.Si se verifica el permiso y el problema persiste, comunícate con el equipo de Atención al cliente de Google para obtener más ayuda.
MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED
Este error indica que la cuenta de servicio del proyecto de flota no tiene suficientes permisos para acceder a un proyecto diferente (el proyecto de clúster o el proyecto de red).
Para la VPC compartida, asegúrate de otorgar a todas las cuentas de servicio de los proyectos de flota el rol Anthos Service Mesh Service Agent
en el proyecto de red de VPC compartida.
En el caso de los proyectos de flota y de clúster de GKE, asegúrate de otorgar el rol Anthos Service Mesh Service Agent
a la cuenta de servicio del proyecto de flota en el proyecto de clúster.
Comando de solución de problemas de ejemplo:
Verifica si tu cuenta de servicio del proyecto de red o del proyecto de clúster otorgó el rol
Anthos Service Mesh Service Agent
a la cuenta de servicio del proyecto de flota. De lo contrario, ejecuta el siguiente comando:gcloud projects add-iam-policy-binding NETWORK_OR_CLUSTER_PROJECT_ID \ --member "serviceAccount:service-FLEET_PROJECT_NUMBER@gcp-sa-servicemesh.iam.gserviceaccount.com" \ --role roles/anthosservicemesh.serviceAgent
Además, confirma que no tienes ninguna automatización que quite esta vinculación.
Si se verifica el permiso y el problema persiste, comunícate con el equipo de Atención al cliente de Google para obtener más ayuda.
CONFIG_VALIDATION_ERROR
Este error indica que no se puede aplicar correctamente parte de la configuración relacionada con la malla aplicada en una o más membresías de la flota. Los detalles del error describen la mejor manera en que el usuario puede abordar este problema.
membershipStates:
projects/test-project/locations/us-central1/memberships/my-membership:
servicemesh:
conditions:
- code: CONFIG_VALIDATION_ERROR
details: 'Unsupported ProxyConfig fields: [proxyconfig.statNameLength]'
severity: ERROR
controlPlaneManagement:
Los errores de validación de configuración para una configuración específica requieren una acción del usuario. Por ejemplo, los errores relacionados con el uso de campos de API no admitidos se abordan mejor quitando la configuración infractora de la API de Mesh.
En la consola de Cloud, navega a Kubernetes Engine > Secrets & ConfigMaps > istio-asm-managed (el nombre del ConfigMap depende del canal de lanzamiento que uses; p.ej., istio-asm-managed-stable o istio-asm-managed-rapid) y, luego, selecciona la pestaña YAML.
Por ejemplo, meshConfig.configSources ya no es compatible:
apiVersion: v1
data:
mesh: |
enablePrometheusMerge: true
trustDomain: "foobar.svc.id.goog"
trustDomainAliases:
- cluster.local
configSources:
- address: k8s://
- address: fs:///var/lib/istio/config/data