En esta página, se muestra cómo solucionar problemas con las cuentas de servicio de Google Kubernetes Engine (GKE).
Restablece la cuenta de servicio predeterminada en el proyecto de Google Cloud
La cuenta de servicio predeterminada de GKE, container-engine-robot
, se puede desvincular de un proyecto por accidente. El rol de agente de servicio de Kubernetes Engine (roles/container.serviceAgent
) es un rol de Identity and Access Management (IAM) que otorga a la cuenta de servicio los permisos necesarios para administrar los recursos del clúster. Si quitas esta vinculación de rol de la cuenta de servicio, la cuenta de servicio predeterminada se desvincula del proyecto, lo que puede evitar que se implementen aplicaciones y que se realicen otras operaciones de clúster.
Para ver si la cuenta de servicio se quitó del proyecto, puedes usar la consola de Google Cloud o Google Cloud CLI.
Console
En la consola de Google Cloud, ve a la página IAM y administración.
gcloud
Ejecuta el siguiente comando:
gcloud projects get-iam-policy PROJECT_ID
Reemplaza
PROJECT_ID
con el ID del proyecto.
Si en el panel o el comando no se muestra container-engine-robot
entre las cuentas de servicio, el rol no está vinculado.
Para restablecer la vinculación del rol de agente de servicio de Kubernetes Engine (roles/container.serviceAgent
), ejecuta los siguientes 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
Confirma que la vinculación de roles se restableció:
gcloud projects get-iam-policy $PROJECT_ID
Si ves el nombre de la cuenta de servicio junto con el rol container.serviceAgent
, se restablece la vinculación de roles. Por ejemplo:
- members:
- serviceAccount:service-1234567890@container-engine-robot.iam.gserviceaccount.com
role: roles/container.serviceAgent
Habilita la cuenta de servicio predeterminada de Compute Engine
La cuenta de servicio que se usa para el grupo de nodos suele ser la cuenta de servicio predeterminada de Compute Engine. Si se desactiva esta cuenta de servicio predeterminada, es posible que tus nodos no se registren en el clúster.
Para ver si la cuenta de servicio está desactivada en tu proyecto, puedes usar la consola de Google Cloud o gcloud CLI.
Console
En la consola de Google Cloud, ve a la página IAM y administración.
gcloud
- Ejecuta el siguiente comando:
gcloud iam service-accounts list --filter="NAME~'compute' AND disabled=true"
Si la cuenta de servicio está desactivada, ejecuta el siguiente comando para habilitarla:
gcloud iam service-accounts enable PROJECT_ID-compute@developer.gserviceaccount.com
Reemplaza PROJECT_ID
con el ID del proyecto.
Para obtener más información, consulta Soluciona problemas de registro de nodos.
Error 400/403: Faltan permisos de edición en una cuenta
Si se borra tu cuenta de servicio, es posible que veas un error de permisos de edición faltantes. Para obtener información sobre cómo solucionar este error, consulta Error 400/403: Faltan permisos de edición en una cuenta.
¿Qué sigue?
Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.