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 dependendo do 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:
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.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:
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 se você não tem uma automação que remova essa vinculação.
Se a permissão for verificada e o problema persistir, entre em contato com o suporte ao cliente do Google para receber mais ajuda.
CONFIG_VALIDATION_ERROR
Esse erro indica que algumas configurações relacionadas à malha aplicadas a uma ou mais associações na frota não podem ser aplicadas. Os detalhes do erro descrevem a melhor forma de resolver o 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:
Erros de validação de configuração para uma configuração específica exigem ação do usuário. Por exemplo, os erros relacionados ao uso de campos de API sem suporte são melhor resolvidos removendo a configuração inadequada da API Mesh.
No console do Cloud, acesse Kubernetes Engine > Secrets & ConfigMaps > istio-asm-managed (o nome do ConfigMap depende do canal de lançamento que você está usando, por exemplo, istio-asm-managed-stable ou istio-asm-managed-rapid) e selecione a guia YAML.
Por exemplo, meshConfig.configSources não é mais compatível:
apiVersion: v1
data:
mesh: |
enablePrometheusMerge: true
trustDomain: "foobar.svc.id.goog"
trustDomainAliases:
- cluster.local
configSources:
- address: k8s://
- address: fs:///var/lib/istio/config/data