Información sobre las condiciones de los estados de las funciones

Nota: Los servicios canónicos se admiten automáticamente en Cloud Service Mesh versión 1.6.8 y posteriores.

En esta página se describe cómo interpretar las condiciones notificadas en tu clúster o flota de Cloud Service Mesh y cómo actuar en consecuencia.

Para comprobar 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:

  ...
  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

Puede que veas el código de error NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED en el campo Conditions de tu suscripción:

    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 de carga de trabajo en todos los grupos de nodos de ese clúster, ya que 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 Workload Identity en todos los grupos de nodos. Ten en cuenta que la habilitación puede variar en función de tu caso específico de clúster.

Una vez habilitada, el mensaje de error debería desaparecer automáticamente y tu clúster debería volver al estado ACTIVE. Si el problema persiste y necesitas más ayuda, consulta el artículo Obtener 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:

  1. Verifica si tu cuenta de servicio tiene asignado el rol Anthos Service Mesh Service Agent. Para obtener información sobre cómo verificar el permiso de gestión de identidades y accesos y añadirlo, consulta el artículo Las revisiones muestran un error de estado incorrecto y sigue los mismos pasos.

  2. Si se verifica el permiso y el problema persiste, póngase en contacto con el servicio de asistencia 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 otro proyecto (el proyecto de clúster o el proyecto de red).

En el caso de la VPC compartida, asegúrate de conceder a todos los proyectos de la flota el rol Anthos Service Mesh Service Agent de la cuenta de servicio en el proyecto de red de la VPC compartida.

En los casos del proyecto de flota de GKE y del proyecto de clúster, asegúrate de conceder el rol Anthos Service Mesh Service Agent a la cuenta de servicio del proyecto de flota en el proyecto de clúster.

Comando de ejemplo para solucionar problemas:

  1. Comprueba si la cuenta de servicio de tu proyecto de red o de tu proyecto de clúster tiene el rol Anthos Service Mesh Service Agent asignado a la cuenta de servicio del proyecto de flota. Si no es así, ejecuta lo siguiente:

    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, comprueba que no tengas ninguna automatización que elimine esta vinculación.

  2. Si se verifica el permiso y el problema persiste, póngase en contacto con el servicio de asistencia de Google para obtener más ayuda.

CONFIG_VALIDATION_ERROR

Este error indica que no se puede aplicar correctamente alguna configuración relacionada con la malla a una o varias membresías de la flota. En los detalles del error se describe la mejor forma de solucionarlo.

  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 la configuración de una configuración específica requieren que el usuario realice alguna acción. Por ejemplo, los errores relacionados con el uso de campos de API no compatibles se solucionan mejor eliminando la configuración infractora de la API Mesh.

En Cloud Console, vaya a Kubernetes Engine > Secrets & ConfigMaps > istio-asm-managed (el nombre de ConfigMap depende del canal de lanzamiento que esté usando; por ejemplo, istio-asm-managed-stable o istio-asm-managed-rapid) y, a continuación, seleccione la pestaña YAML.

Por ejemplo, meshConfig.configSources ya no se admite:

apiVersion: v1
data:
  mesh: |
    enablePrometheusMerge: true
    trustDomain: "foobar.svc.id.goog"
    trustDomainAliases:
      - cluster.local

    configSources:
      - address: k8s://
      - address: fs:///var/lib/istio/config/data