Nesta página, mostramos como resolver problemas com contas de serviço do Google Kubernetes Engine (GKE).
Restaurar a conta de serviço padrão para seu projeto do Google Cloud
A conta de serviço padrão do GKE, container-engine-robot
, pode ser acidentalmente desassociada de um projeto. O papel de agente de serviço do Kubernetes Engine (roles/container.serviceAgent
) é um papel de Identity and Access Management (IAM) que concede à conta de serviço as permissões para gerenciar recursos de cluster. Se você remover essa vinculação de papel da conta de serviço, a conta de serviço padrão ficará desvinculada do projeto, o que poderá impedir a implantação de aplicativos e a execução de outras operações de cluster.
Para verificar se a conta de serviço foi removida do seu projeto, use o console do Google Cloud ou a CLI do Google Cloud.
Console
No Console do Google Cloud, acesse a página IAM e administrador.
gcloud
Execute este comando:
gcloud projects get-iam-policy PROJECT_ID
Substitua
PROJECT_ID
pela ID do projeto.
Se o painel ou o comando não mostrar container-engine-robot
entre suas contas de serviço, o papel está desvinculado.
Para restaurar a vinculação de papel de agente de serviço do Kubernetes Engine (roles/container.serviceAgent
), execute os seguintes comandos:
PROJECT_NUMBER=$(gcloud projects describe "PROJECT_ID" \
--format 'get(projectNumber)') \
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "serviceAccount:service-${PROJECT_NUMBER?}@container-engine-robot.iam.gserviceaccount.com" \
--role roles/container.serviceAgent
Confirme se a vinculação de papel foi restaurada:
gcloud projects get-iam-policy $PROJECT_ID
Se o nome da conta de serviço estiver com a função container.serviceAgent
, a vinculação de papel foi restaurada. Por exemplo:
- members:
- serviceAccount:service-1234567890@container-engine-robot.iam.gserviceaccount.com
role: roles/container.serviceAgent
Ativar a conta de serviço padrão do Compute Engine
A conta de serviço usada para o pool de nós geralmente é a conta de serviço padrão do Compute Engine. Se essa conta de serviço padrão for desativada, os nós podem não ser registrados no cluster.
Para saber se a conta de serviço está desativada no seu projeto, use o console do Google Cloud ou a gcloud CLI.
Console
No Console do Google Cloud, acesse a página IAM e administrador.
gcloud
- Execute este comando:
gcloud iam service-accounts list --filter="NAME~'compute' AND disabled=true"
Se a conta de serviço estiver desativada, execute o seguinte comando para ativá-la:
gcloud iam service-accounts enable PROJECT_ID-compute@developer.gserviceaccount.com
Substitua PROJECT_ID
pela ID do projeto.
Para mais informações, consulte Resolver problemas no registro de nós.
Erro 400/403: permissões de edição ausentes na conta
Se a conta de serviço for excluída, talvez você receba um erro de permissão de edição ausente. Para saber como resolver esse erro, consulte Erro 400/403: permissões de edição ausentes na conta.
A seguir
Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.