Questa pagina mostra come risolvere i problemi relativi agli account servizio di Google Kubernetes Engine (GKE).
Ripristina l'account di servizio predefinito nel Google Cloud progetto
L'account di servizio predefinito di GKE, container-engine-robot
, può essere sganciato accidentalmente da un progetto. Il
ruolo Agente di servizio Kubernetes Engine
(roles/container.serviceAgent
) è un ruolo Identity and Access Management (IAM)
che concede all'account di servizio le autorizzazioni per gestire le risorse del cluster. Serimuovi questa associazione di ruolo dall'account di servizio, l'account di servizio predefinito non sarà più associato al progetto, il che potrebbe impedirti di eseguire il deployment delle applicazioni e altre operazioni del cluster.
Per verificare se l'account di servizio è stato rimosso dal progetto, puoi utilizzare la console Google Cloud o Google Cloud CLI.
Console
Nella console Google Cloud, vai alla pagina IAM e amministrazione.
gcloud
Esegui questo comando:
gcloud projects get-iam-policy PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID progetto.
Se la dashboard o il comando non mostra container-engine-robot
tra i tuoi account di servizio, il ruolo non è associato.
Per ripristinare l'associazione del ruolo dell'agente di servizio Kubernetes Engine
(roles/container.serviceAgent
), esegui i seguenti comandi:
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
Verifica che l'associazione del ruolo sia stata ripristinata:
gcloud projects get-iam-policy $PROJECT_ID
Se vedi il nome dell'account di servizio insieme al ruolo container.serviceAgent
, l'associazione del ruolo è stata ripristinata. Ad esempio:
- members:
- serviceAccount:service-1234567890@container-engine-robot.iam.gserviceaccount.com
role: roles/container.serviceAgent
Abilita l'account di servizio predefinito Compute Engine
L'account di servizio utilizzato per il pool di nodi è in genere l'account di servizio predefinito di Compute Engine. Se questo account di servizio predefinito viene disattivato, la registrazione dei nodi al cluster potrebbe non riuscire.
Per verificare se l'account di servizio è disattivato nel tuo progetto, puoi utilizzare la console Google Cloud o gcloud CLI.
Console
Nella console Google Cloud, vai alla pagina IAM e amministrazione.
gcloud
- Esegui questo comando:
gcloud iam service-accounts list --filter="NAME~'compute' AND disabled=true"
Se l'account di servizio è disattivato, esegui il seguente comando per attivarlo:
gcloud iam service-accounts enable PROJECT_ID-compute@developer.gserviceaccount.com
Sostituisci PROJECT_ID
con l'ID progetto.
Per ulteriori informazioni, consulta la sezione Risolvere i problemi di registrazione dei nodi.
Errore 400/403: autorizzazioni di modifica mancanti nell'account
Se il tuo account di servizio viene eliminato, potresti visualizzare un errore relativo alle autorizzazioni di modifica mancanti. Per scoprire come risolvere questo problema, consulta Errore 400/403: autorizzazioni di modifica mancanti nell'account.
Passaggi successivi
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.