Aiutaci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Vuoi contribuire a questa guida per l'utente? Scegli il GitHub link Modifica questa pagina che si trova nel riquadro destro di ogni pagina. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ruolo IAM del nodo Amazon EKS
Il kubelet
daemon del nodo Amazon EKS effettua chiamate per tuo AWS APIs conto. I nodi ricevono le autorizzazioni per queste chiamate API attraverso un profilo dell'istanza IAM e le policy associate. Prima di avviare i nodi e registrarli in un cluster, devi creare un ruolo IAM che i nodi possano utilizzare all'avvio. Questo requisito si applica ai nodi lanciati con l'AMI ottimizzata Amazon EKS fornita da Amazon o con qualsiasi altro nodo AMIs che intendi utilizzare. Inoltre, questo requisito si applica sia ai gruppi di nodi gestiti sia ai nodi autogestiti.
Nota
Non puoi utilizzare lo stesso ruolo utilizzato per creare alcun cluster.
Prima di creare i nodi, è necessario creare un ruolo IAM con le seguenti autorizzazioni:
-
Autorizzazioni per
kubelet
descrivere EC2 le risorse Amazon nel VPC, come quelle fornite dalla policy di Amazon EKSWorker NodePolicy. Questa policy fornisce anche le autorizzazioni per il Pod Identity Agent di Amazon EKS. -
Autorizzazioni
kubelet
per l'utilizzo di immagini di container da Amazon Elastic Container Registry (Amazon ECR), come previsto dalla politica di Amazon. EC2 ContainerRegistryPullOnly Le autorizzazioni per utilizzare le immagini dei container da Amazon Elastic Container Registry (Amazon ECR) sono necessarie perché i componenti aggiuntivi integrati per le reti eseguono pod che utilizzano immagini di container provenienti da Amazon ECR. -
(Facoltativo) Autorizzazioni per consentire al Pod Identity Agent di Amazon EKS di utilizzare l'azione
eks-auth:AssumeRoleForPodIdentity
per recuperare le credenziali per i pod. Se non utilizzi Amazon EKSWorker NodePolicy, devi fornire questa autorizzazione oltre alle EC2 autorizzazioni per utilizzare EKS Pod Identity. ` -
(Facoltativo) Se non utilizzi IRSA o EKS Pod Identity per concedere le autorizzazioni ai pod VPC CNI, devi fornire le autorizzazioni per il VPC CNI sul ruolo dell'istanza. Puoi utilizzare la politica gestita `Amazoneks_CNI_Policy` (se hai creato il cluster con la famiglia `) o IPv6 una politica creata da te (se hai creato IPv4 il cluster con la famiglia).
IPv6
Invece di allegare la policy a questo ruolo, tuttavia, consigliamo di allegarla a un ruolo separato utilizzato specificamente per il componente aggiuntivo CNI di Amazon VPC. Per ulteriori informazioni sulla creazione di un ruolo separato per il componente aggiuntivo CNI di Amazon VPC, consulta Configurare il plug-in Amazon VPC CNI per utilizzare IRSA.
Nota
I gruppi di EC2 nodi Amazon devono avere un ruolo IAM diverso rispetto al profilo Fargate. Per ulteriori informazioni, consulta Amazon EKS Pod esecuzione del ruolo IAM.
Verifica della presenza di un ruolo di nodo esistente
Per controllare se l'account dispone già di un ruolo di nodo Amazon EKS, utilizzare la procedura indicata di seguito.
-
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione a sinistra, seleziona Ruoli.
-
Ricerca
eksNodeRole
,AmazonEKSNodeRole
oNodeInstanceRole
nell'elenco di ruoli. Se non esiste un ruolo con uno di questi nomi, consulta la sezione relativa Creazione del ruolo IAM del nodo Amazon EKS alla creazione del ruolo. Se esiste un ruolo che contieneeksNodeRole
,AmazonEKSNodeRole
oNodeInstanceRole
, seleziona il ruolo per visualizzare le policy allegate. -
Seleziona Autorizzazioni.
-
Assicurati che le policy EC2 ContainerRegistryPullOnly gestite da Amazon EKSWorker NodePolicy e Amazon siano associate al ruolo o che sia allegata una policy personalizzata con le autorizzazioni minime.
Nota
Se la policy Amazoneks_CNI_Policy è associata al ruolo, consigliamo di rimuoverla e di collegarla a un ruolo IAM mappato a
aws-node
Kubernetes account di servizio invece. Per ulteriori informazioni, consulta Configurare il plug-in Amazon VPC CNI per utilizzare IRSA. -
Scegli Trust relationships (Relazioni di attendibilità), quindi scegli Edit trust policy (Modifica policy di attendibilità).
-
Verifica che la relazione di trust includa la policy seguente. Se la relazione di attendibilità corrisponde alla policy seguente, scegli Cancel (Annulla). Se la relazione di fiducia non corrisponde, copia la politica nella finestra Modifica politica di fiducia e scegli Aggiorna politica.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] }
Creazione del ruolo IAM del nodo Amazon EKS
Puoi creare il ruolo IAM del nodo con AWS Management Console o la AWS CLI.
- AWS Management Console
-
-
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione a sinistra, seleziona Ruoli.
-
Nella pagina Ruoli, seleziona Crea ruolo.
-
Nella pagina Seleziona un'entità attendibile, esegui le operazioni seguenti:
-
Nella sezione Tipo di entità affidabile, scegli AWS service.
-
In Use case (Caso d'uso), scegli EC2.
-
Scegli Next (Successivo).
-
-
Nella pagina Aggiungi autorizzazioni, collega una policy personalizzata o esegui le operazioni seguenti:
-
Nella casella Filtra policy, inserisci
AmazonEKSWorkerNodePolicy
. -
Seleziona la casella di controllo a sinistra di Amazon EKSWorker NodePolicy nei risultati della ricerca.
-
Scegli Cancella filtri.
-
Nella casella Filtra policy, inserisci
AmazonEC2ContainerRegistryPullOnly
. -
Seleziona la casella di controllo a sinistra di Amazon EC2 ContainerRegistryPullOnly nei risultati della ricerca.
Anche la politica gestita di Amazoneks_CNI_Policy o una politica creata da te devono essere allegate a questo ruolo o a IPv6 un ruolo diverso mappato al
aws-node
Kubernetes account di servizio. Si consiglia di assegnare la politica al ruolo associato al Kubernetes account di servizio anziché assegnarlo a questo ruolo. Per ulteriori informazioni, consulta Configurare il plug-in Amazon VPC CNI per utilizzare IRSA. -
Scegli Next (Successivo).
-
-
Nella pagina Name, review, and create (Assegna un nome, rivedi e crea), esegui le operazioni seguenti:
-
Per Role name (Nome ruolo), inserisci un nome univoco per il ruolo, ad esempio
AmazonEKSNodeRole
. -
In Descrizione, sostituisci il testo corrente con un testo descrittivo come
Amazon EKS - Node role
. -
In Aggiungi tag (facoltativo), aggiungi metadati al ruolo collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo di tag in IAM, consulta la sezione Applicazione di tag alle risorse IAM nella Guida per l'utente di IAM.
-
Scegliere Crea ruolo.
-
-
- AWS CLI
-
-
Per creare il file
node-role-trust-relationship.json
, emetti il seguente comando:cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] } EOF
-
Crea il ruolo IAM.
aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
-
Allegare al ruolo IAM le due policy gestite IAM richieste.
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
-
Allega una delle seguenti policy IAM al ruolo IAM a seconda della famiglia di IP con cui hai creato il cluster. La politica deve essere associata a questo ruolo o a un ruolo associato al Kubernetes
aws-node
account di servizio utilizzato per Amazon VPC CNI plugin for Kubernetes. Si consiglia di assegnare la politica al ruolo associato a Kubernetes account di servizio. Per assegnare la politica al ruolo associato al Kubernetes account di servizio, vedereConfigurare il plug-in Amazon VPC CNI per utilizzare IRSA.-
IPv4
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
-
IPv6
-
Copia il testo seguente e salvalo in un file denominato
vpc-cni-ipv6-policy.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws: ec2:*:*:network-interface/*" ] } ] }
-
Creare la policy IAM.
aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
-
Allega la policy IAM al ruolo IAM. Sostituisci
111122223333
con l'ID del tuo account.aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole
-
-
-