Questa pagina spiega cos'è un profilo istanza AWS IAM, perché è importante nel contesto di GKE su AWS e come aggiornarlo.
Che cos'è un profilo istanza AWS IAM?
Un profilo 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ù specificamente, un profilo istanza è un tipo di contenitore per un ruolo IAM che può essere associato a un'istanza EC2. Un profilo istanza conferisce autorizzazioni all'istanza EC2, consentendo all'istanza di interagire con vari servizi AWS in base alle autorizzazioni definite. Per ulteriori informazioni, consulta Utilizzare i profili istanza.
Come vengono utilizzati i profili istanza in GKE su AWS?
Ogni piano di controllo e ogni pool di nodi all'interno di un cluster GKE su AWS è associato a un profilo istanza AWS univoco. I profili istanza in GKE su AWS hanno un duplice scopo:
- Un profilo istanza concede a GKE su AWS le autorizzazioni necessarie per gestire le risorse AWS. Ad esempio, concedono al gestore della scalabilità automatica dei cluster le autorizzazioni necessarie per scalare il cluster aggiungendo o rimuovendo istanze EC2 in base alle esigenze del carico di lavoro.
- Un profilo istanza concede alle istanze EC2 l'accesso ai Google Cloud servizi.
Ad esempio,
kubelet
, in esecuzione su una macchina AWS, richiede autorizzazioni specifiche per fornire le credenziali di estrazione delle immagini acontainerd
. Queste credenziali sono necessarie per accedere ed eseguire il pull delle immagini dall'Artifact Registry privato di Google o da Container Registry. Nel contesto di GKE su AWS, il profilo dell'istanza EC2 associato al cluster è configurato per rubare l'identità degli agenti di servizio macchina di Google (ad esempio 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 autenticarsi automaticamente con Artifact Registry o Container Registry di Google.
Aggiorna il profilo dell'istanza
L'aggiornamento del profilo dell'istanza prevede la creazione di un nuovo profilo dell'istanza in AWS con autorizzazioni specifiche e la sua associazione al cluster o al pool di nodi GKE su AWS.
Per aggiornare correttamente il profilo dell'istanza per il cluster o pool di nodi, segui questi passaggi:
- Crea un profilo istanza IAM per le tue istanze Amazon EC2 e aggiungi il ruolo IAM necessario al profilo istanza. Per maggiori dettagli, consulta Utilizzare i profili istanza.
Collega il nuovo profilo istanza al tuo pool di nodi o al tuo cluster GKE su AWS eseguendo il seguente comando in Google Cloud CLI:
Collega il 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 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 pool di nodiNEW_INSTANCE_PROFILE_NAME
: il nome del nuovo profilo istanza AWS che hai creato
Questi comandi mostrano solo i flag pertinenti per l'aggiornamento del profilo dell'istanza, ma devi fornire flag aggiuntivi per eseguire il comando
update
. Per maggiori dettagli, consulta Aggiornare i parametri del cluster AWS o Aggiornare un node pool.
Il metodo di aggiornamento non corretto
È importante conoscere il modo sbagliato di aggiornare un profilo dell'istanza, perché si tratta di un errore facile da fare che può causare errori del cluster.
Il modo sbagliato per aggiornare un profilo istanza è modificare direttamente un profilo istanza esistente utilizzando la Console di gestione AWS o l'interfaccia a riga di comando AWS. Queste modifiche possono interrompere l'interazione di GKE su AWS con le risorse AWS. GKE su AWS si aspetta che i profili delle istanze rimangano invariati rispetto a quando sono stati collegati per la prima volta al cluster o al pool di nodi. Se li modifichi al di fuori di GKE negli strumenti di gestione di AWS, potresti creare una mancata corrispondenza con l'ID del ruolo IAM nel profilo dell'istanza. Questa mancata corrispondenza può causare un errore del cluster.
L'approccio descritto nella sezione precedente garantisce che gli aggiornamenti vengano eseguiti senza interrompere l'integrazione di GKE su AWS con AWS.