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.
CONFIG_VALIDATION_ERROR
Este erro indica que não é possível aplicar com êxito algumas configurações relacionadas com a malha a uma ou mais associações na frota. Os detalhes do erro descrevem a melhor forma de o utilizador resolver 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:
Os erros de validação da configuração de uma configuração específica exigem a ação do utilizador. Por exemplo, os erros relativos à utilização de campos de API não suportados são melhor resolvidos removendo a configuração ofensiva da API Mesh.
Na Cloud Console, navegue para Kubernetes Engine > Secrets & ConfigMaps > istio-asm-managed (o nome do ConfigMap depende do canal de lançamento que está a usar; por exemplo, istio-asm-managed-stable ou istio-asm-managed-rapid) e, de seguida, selecione o separador YAML.
Por exemplo, meshConfig.configSources já não é suportado:
apiVersion: v1
data:
mesh: |
enablePrometheusMerge: true
trustDomain: "foobar.svc.id.goog"
trustDomainAliases:
- cluster.local
configSources:
- address: k8s://
- address: fs:///var/lib/istio/config/data