Compreender as condições do estado das funcionalidades
Nota: os serviços canónicos são suportados automaticamente na versão 1.6.8 e superiores do Cloud Service Mesh.
Esta página descreve como interpretar e agir em função das condições comunicadas no seu cluster ou frota do Cloud Service Mesh.
Para verificar as condições, execute este comando:
gcloud container fleet mesh describe --project FLEET_PROJECT
O resultado 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 mais detalhadamente nesta página.
NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
Pode ver o código de erro NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
no campo Conditions
da sua subscrição:
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 erro é apresentado se o cluster do GKE não tiver a Workload Identity Federation ativada em todos os node pools desse cluster, uma vez que este é um pré-requisito para a instalação do Cloud Service Mesh.
Para resolver esta mensagem de erro, tem de seguir as instruções para ativar a Workload Identity Federation em todos os conjuntos de nós. Tenha em atenção que a ativação pode variar consoante o seu caso de cluster específico.
Após a ativação, a mensagem de erro deve ser removida automaticamente e o cluster deve voltar ao estado ACTIVE
. Se o problema persistir e precisar de
assistência adicional, consulte o artigo Receber apoio técnico.
MESH_IAM_PERMISSION_DENIED
Este erro indica que a conta de serviço não tem autorização suficiente para aceder ao seu projeto de frota. Siga os passos de resolução de problemas:
Verifique se a sua conta de serviço tem a função
Anthos Service Mesh Service Agent
concedida. Para ver detalhes sobre como validar a autorização da IAM e adicioná-la, aceda a As revisões estão a ser comunicadas como erro não saudável e use os mesmos passos aí.Se a autorização for validada enquanto o problema persistir, contacte o apoio ao cliente da Google para receber assistência adicional.
MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED
Este erro indica que a conta de serviço do projeto da frota não tem autorização suficiente para aceder a um projeto diferente (o projeto do cluster ou o projeto de rede).
Para a VPC partilhada, certifique-se de que concede a função Anthos Service Mesh Service Agent
da conta de serviço de todos os projetos da frota no projeto de rede da VPC partilhada.
Para os cenários de projeto de cluster e projeto de frota do GKE, certifique-se de que concede a função Anthos Service Mesh Service Agent
à conta de serviço do projeto de frota no projeto de cluster.
Exemplo de comando de resolução de problemas:
Verifique se a conta de serviço do projeto de rede ou do projeto de cluster concedeu a função
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 não tem nenhuma automatização que remova esta vinculação.
Se a autorização for validada enquanto o problema persistir, contacte o apoio ao cliente da Google para receber assistência adicional.