Questa pagina spiega cos'è un profilo di istanza AWS IAM, perché è importante nel contesto di GKE su AWS e come aggiornare il profilo dell'istanza.
Che cos'è un profilo di istanza AWS IAM?
Un profilo di istanza è un concetto specifico di AWS. È costituito da un insieme di credenziali utilizzate da un'istanza Amazon EC2 per accedere a varie risorse AWS. Più precisamente, un profilo di istanza è un tipo di container per un ruolo IAM che può essere associato a un'istanza EC2. Un profilo di istanza conferisce le autorizzazioni all'istanza EC2, consentendo all'istanza di interagire con vari servizi AWS nelle autorizzazioni definite. Per maggiori informazioni, consulta Utilizzo dei profili di istanza.
Come vengono utilizzati i profili di istanza in GKE su AWS?
Ogni piano di controllo e ogni pool di nodi all'interno di un cluster GKE su AWS sono associati a un profilo di istanza AWS univoco. I profili di istanza in GKE su AWS hanno un duplice scopo:
- Un profilo di istanza concede a GKE su AWS le autorizzazioni necessarie per gestire le risorse AWS. Ad esempio, forniscono al gestore della scalabilità automatica dei cluster le autorizzazioni necessarie per scalare il cluster aggiungendo o rimuovendo istanze EC2 in base alle esigenze dei carichi di lavoro.
- Un profilo di istanza concede alle istanze EC2 l'accesso ai servizi Google Cloud.
Ad esempio,
kubelet
, in esecuzione su una macchina AWS, richiede autorizzazioni specifiche per fornire credenziali di pull delle immagini acontainerd
. Queste credenziali sono necessarie per accedere alle immagini da Artifact Registry privato di Google ed eseguirne il pull da Container Registry. Nel contesto di GKE su AWS, il profilo dell'istanza EC2 associato al cluster è configurato in modo da rappresentare gli agenti di servizio macchine di Google (come l'agente di servizio macchina del pool di nodi o l'agente di servizio macchina del piano di controllo). Questa rappresentazione consente alle istanze EC2 del cluster di eseguire automaticamente l'autenticazione con Artifact Registry o Container Registry di Google.
Aggiorna profilo istanza
Per aggiornare il profilo dell'istanza è necessario creare un nuovo profilo istanza in AWS con autorizzazioni specifiche e associarlo a GKE su cluster o pool di nodi AWS.
Per aggiornare correttamente il profilo dell'istanza per il cluster o il pool di nodi, segui questi passaggi:
- Crea un profilo di istanza IAM per le tue istanze Amazon EC2 e aggiungi al profilo di istanza il ruolo IAM necessario. Per maggiori dettagli, consulta Utilizzo dei profili di istanze.
Collega il nuovo profilo di istanza al tuo cluster GKE su cluster o pool di nodi AWS eseguendo questo comando in Google Cloud CLI:
Collega profilo al cluster
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterNEW_INSTANCE_PROFILE_NAME
: il nome del nuovo profilo di istanza AWS che hai creato
Collega il profilo al pool di nodi
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del tuo pool di nodiNEW_INSTANCE_PROFILE_NAME
: il nome del nuovo profilo di istanza AWS che hai creato
Questi comandi mostrano solo i flag pertinenti per l'aggiornamento del profilo dell'istanza, ma devi fornire ulteriori flag per poter eseguire il comando
update
. Per maggiori dettagli, consulta Aggiornare i parametri del cluster AWS o Aggiornare un pool di nodi.
Metodo di aggiornamento errato
È importante capire il modo sbagliato per aggiornare un profilo di istanza, perché è un errore facile da fare che può causare errori del cluster.
Il modo sbagliato per aggiornare un profilo di istanza è modificare direttamente un profilo di istanza esistente utilizzando la console di gestione AWS o AWS CLI. Queste modifiche possono interrompere GKE sull'interazione di AWS con le risorse AWS. GKE su AWS prevede che i profili delle istanze rimangano invariati quando erano collegati per la prima volta al cluster o al pool di nodi. Modificarli al di fuori di GKE negli strumenti di gestione di AWS può creare una mancata corrispondenza con l'ID del ruolo IAM presente nel profilo dell'istanza. Questa mancata corrispondenza può creare un errore del cluster.
L'approccio descritto nella sezione precedente garantisce che gli aggiornamenti vengano eseguiti senza interrompere GKE sull'integrazione di AWS con AWS.