Entender as condições de estado do recurso

Observação:os serviços canônicos são compatíveis com a versão 1.6.8 do Cloud Service Mesh e versões mais recentes.

Esta página descreve como interpretar e agir de acordo com as condições informadas no cluster ou na frota do Cloud Service Mesh.

Para verificar as condições, execute este comando:

  gcloud container fleet mesh describe --project FLEET_PROJECT

A saída pode incluir conditions em membershipStates para um cluster, como:

  ...
  membershipStates:
    projects/test-project/locations/us-central1/memberships/my-membership:
      servicemesh:
        conditions:
          - code: <CONDITION_CODE>
            details: ...
            documentationLink: ....
            severity: ...

Os valores de code são descritos em mais detalhes nesta página.

NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED

Você pode encontrar o código de erro NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED no campo Conditions da sua assinatura:

    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

Esse erro aparece se o cluster do GKE não tiver a Federação de Identidade da Carga de Trabalho ativada em todos os pools de nós desse cluster, já que esse é um pré-requisito para a instalação do Cloud Service Mesh.

Para resolver essa mensagem de erro, siga as instruções para Ativar a federação de identidade da carga de trabalho em todos os pools de nós. A ativação pode variar de acordo com o caso específico do cluster.

Após a ativação, a mensagem de erro será removida automaticamente, e o cluster voltará ao estado ACTIVE. Se o problema persistir e você precisar de mais ajuda, consulte Como receber suporte.

MESH_IAM_PERMISSION_DENIED

Esse erro indica que a conta de serviço não tem permissão suficiente para acessar seu projeto de frota. Siga as etapas para resolver o problema:

  1. Verifique se a conta de serviço recebeu o papel Anthos Service Mesh Service Agent. Para saber como verificar e adicionar a permissão do IAM, acesse O status das revisões é considerado não íntegro e siga as mesmas etapas.

  2. Se a permissão for verificada e o problema persistir, entre em contato com o suporte ao cliente do Google para receber mais ajuda.

MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED

Esse erro indica que a conta de serviço do projeto da frota não tem permissão suficiente para acessar um projeto diferente (o projeto do cluster ou da rede).

Para a VPC compartilhada, conceda o papel Anthos Service Mesh Service Agent da conta de serviço de todos os projetos de frota no projeto de rede VPC compartilhada.

Para os cenários de projeto de cluster e de frota do GKE, conceda o papel Anthos Service Mesh Service Agent da conta de serviço do projeto de frota no projeto de cluster.

Exemplo de comando de solução de problemas:

  1. Verifique se o projeto de rede ou a conta de serviço do projeto do cluster concedeu o papel Anthos Service Mesh Service Agent à conta de serviço do projeto da frota. Caso contrário, execute:

    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
    

    Além disso, confirme que você não tem uma automação que remova essa vinculação.

  2. Se a permissão for verificada e o problema persistir, entre em contato com o suporte ao cliente do Google para receber mais ajuda.