Contribuisci 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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni 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à.
Crea nodi Amazon Linux autogestiti
In questo argomento viene descritto come avviare gruppi con scalabilità automatica di nodi Linux che si registrano con il cluster Amazon EKS. Dopo che i nodi vengono aggiunti al cluster, puoi implementare applicazioni Kubernetes per gli stessi. Puoi anche avviare nodi Amazon Linux autogestiti con eksctl o. Console di gestione AWS Se devi avviare nodi su AWS Outposts, consulta. Crea nodi Amazon Linux su AWS Outposts
-
Un cluster Amazon EKS esistente. Per implementarne uno, consulta Crea un cluster Amazon EKS.. Se hai delle sottoreti nella AWS regione in cui hai abilitato AWS Outposts, AWS Wavelength o AWS Local Zones, tali sottoreti non devono essere state passate al momento della creazione del cluster.
-
Un ruolo IAM esistente per i nodi da utilizzare. Per crearne uno, consulta Ruolo IAM del nodo Amazon EKS. Se questo ruolo non prevede nessuna delle policy per VPC CNI, per i pod VPC CNI è necessario il ruolo separato riportato di seguito.
-
(Facoltativo, ma consigliato) Il componente aggiuntivo plug-in CNI di Amazon VPC per Kubernetes configurato con il proprio ruolo IAM a cui è allegata la policy IAM necessaria. Per ulteriori informazioni, consulta Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA.
-
Conoscenza delle considerazioni elencate in Scegli un tipo di istanza di EC2 nodo Amazon ottimale. A seconda del tipo di istanza scelto, potrebbero esserci ulteriori prerequisiti per il cluster e il VPC.
È possibile avviare nodi Linux autogestiti con uno dei seguenti modi:
eksctl
Avvia nodi Linux autogestiti utilizzando eksctl
-
Installa la versione
0.215.0o successiva dello strumento da riga dieksctlcomando installato sul tuo dispositivo o. AWS CloudShell Per l’installazione o l’aggiornamento dieksctl, consulta la sezione Installationnella documentazione di eksctl. -
(Facoltativo) Se la policy IAM gestita AmazonEKS_CNI_Policy è collegata al ruolo IAM del nodo Amazon EKS, ti consigliamo, invece, di assegnarla a un ruolo IAM associato all’account di servizio Kubernetes
aws-node. Per ulteriori informazioni, consulta Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA. -
Il comando seguente crea un gruppo di nodi in un cluster esistente. Sostituisci
al-nodescon un nome per il gruppo di nodi. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura. Sostituiscimy-clustercon il nome del cluster. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all'interno AWS della regione e AWS dell'account in cui stai creando il cluster. Sostituisci iexample valuerimanenti con i valori in tuo possesso. Per impostazione predefinita, i nodi vengono creati con la stessa versione Kubernetes del piano di controllo.Prima di scegliere un valore per
--node-type, consulta Scegli un tipo di istanza Amazon EC2 node ottimale.Sostituiscilo
my-keycon il nome della tua coppia di EC2 chiavi Amazon o della tua chiave pubblica. Questa chiave viene utilizzata per eseguire il SSH nei nodi dopo il loro avvio. Se non disponi già di una coppia di EC2 chiavi Amazon, puoi crearne una in Console di gestione AWS. Per ulteriori informazioni, consulta le coppie di EC2 chiavi Amazon nella Amazon EC2 User Guide.Crea il tuo gruppo di nodi con il comando seguente.
Importante
Se desideri distribuire un gruppo di nodi nelle sottoreti AWS Outposts, Wavelength o Local Zone, ci sono altre considerazioni:
-
Le sottoreti non devono essere state trasmesse al momento della creazione del cluster.
-
È necessario creare il gruppo di nodi con un file di configurazione, specificando le sottoreti e
volumeType. Per ulteriori informazioni, consulta Creazione di un gruppo di nodi da un file di configurazione: gp2 e lo Schema del file config nella documentazione di eksctl.
eksctl create nodegroup \ --cluster my-cluster \ --name al-nodes \ --node-type t3.medium \ --nodes 3 \ --nodes-min 1 \ --nodes-max 4 \ --ssh-access \ --managed=false \ --ssh-public-key my-keyPer implementare un gruppo di nodi che:
-
può assegnare un numero significativamente più elevato di indirizzi IP a pod rispetto alla configurazione predefinita, consulta Assegnazione di più indirizzi IP ai nodi Amazon EKS con prefissi.
-
può assegnare gli indirizzi
IPv4a pod da un altro intervallo CIDR rispetto a quello dell’istanza, consulta Implementazione dei pod in sottoreti alternative con reti personalizzate. -
può assegnare gli indirizzi
IPv6a pod e servizi, consulta Scopri IPv6 gli indirizzi di cluster, pod e servizi. -
non dispone di accesso a Internet in uscita, consulta Implementazione di cluster privati con accesso limitato a Internet.
Per un elenco completo di tutte le opzioni e i valori predefiniti disponibili, immetti il comando seguente.
eksctl create nodegroup --helpSe i nodi di lavoro non riescono a unirsi al cluster, consulta Impossibile aggiungere i nodi al cluster nel capitolo sulla risoluzione dei problemi.
Di seguito viene riportato un output di esempio. Durante la creazione dei nodi vengono generate diverse righe. Una delle ultime righe di output è simile alla seguente riga di esempio.
[✔] created 1 nodegroup(s) in cluster "my-cluster"
-
-
(Facoltativo) implementare un’applicazione di esempio per testare il cluster e i nodi Linux.
-
Consigliamo di bloccare l’accesso dei pod a IMDS se si verificano le seguenti condizioni:
-
Prevedi di assegnare ruoli IAM a tutti gli account del servizio Kubernetes in modo che i pod dispongano solo delle autorizzazioni minime necessarie.
-
Nessun pod nel cluster richiede l'accesso al servizio di metadati delle EC2 istanze Amazon (IMDS) per altri motivi, come il recupero della regione corrente. AWS
Per ulteriori informazioni, consulta Limitazione dell’accesso al profilo dell’istanza assegnato al nodo worker
. -
Console di gestione AWS
Passaggio 1: avvia i nodi Linux autogestiti utilizzando la Console di gestione AWS
-
Scarica l'ultima versione del modello. AWS CloudFormation
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2025-11-26/amazon-eks-nodegroup.yaml -
Attendi che lo stato del cluster risulti
ACTIVE. Se vengono avviati prima che il cluster sia attivo, i nodi non riescono a effettuare la registrazione al cluster e sarà necessario riavviarli. -
Apri la AWS CloudFormation console
. -
Scegli Crea stack e quindi seleziona Con nuove risorse (standard).
-
In Specifica modello, seleziona Carica un file di modello e Scegli file.
-
Seleziona il file
amazon-eks-nodegroup.yamlscaricato. -
Seleziona Successivo.
-
Nella pagina Specifica i dettagli dello stack, immetti i parametri seguenti e scegli Successivo:
-
Nome dello stack: scegli un nome per lo stack. AWS CloudFormation Ad esempio, è possibile chiamarlo
my-cluster-nodes. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all'interno della AWS regione e AWS dell'account in cui stai creando il cluster. -
ClusterName: inserisci il nome che hai usato per creare il cluster Amazon EKS. Questo nome deve corrispondere a quello del cluster o i nodi non verranno aggiunti al cluster.
-
ClusterControlPlaneSecurityGroup: scegli il SecurityGroupsvalore dall' AWS CloudFormation output che hai generato quando hai creato il tuo VPC.
Nella procedura seguente viene illustrata un’operazione per recuperare il gruppo applicabile.
-
Aprire la Console Amazon EKS
. -
Scegli il nome del cluster.
-
Scegli la scheda Reti.
-
Utilizza il valore dei gruppi di sicurezza aggiuntivi come riferimento quando selezioni dall'ClusterControlPlaneSecurityGroupelenco a discesa.
-
-
ApiServerEndpoint: Inserite l'API Server Endpoint per il vostro cluster EKS. È possibile trovarlo nella sezione Dettagli della console EKS Cluster
-
CertificateAuthorityData: Immettete i dati dell'Autorità di certificazione codificati in base 64, disponibili anche nella sezione Dettagli della console EKS Cluster.
-
ServiceCidr: Inserisci l'intervallo CIDR utilizzato per allocare gli indirizzi IP ai servizi Kubernetes all'interno del cluster. Si trova nella scheda di rete della console del cluster EKS.
-
AuthenticationMode: Seleziona la modalità di autenticazione in uso nel cluster EKS esaminando la scheda di accesso all'interno della console del cluster EKS.
-
NodeGroupName: Inserisci un nome per il tuo gruppo di nodi. Questo nome può essere utilizzato in seguito per identificare il gruppo di nodi con dimensionamento automatico creato per i tuoi nodi. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura.
-
NodeAutoScalingGroupMinSize: Inserisci il numero minimo di nodi su cui il gruppo Auto Scaling del nodo può scalare.
-
NodeAutoScalingGroupDesiredCapacity: Inserisci il numero di nodi desiderato su cui scalare quando viene creato lo stack.
-
NodeAutoScalingGroupMaxSize: Inserisci il numero massimo di nodi su cui il gruppo Auto Scaling del nodo può scalare orizzontalmente.
-
NodeInstanceType: scegli un tipo di istanza per i tuoi nodi. Per ulteriori informazioni, consulta Scelta di una tipologia di istanza di nodo Amazon EC2 ottimale.
-
NodeImageIdSSMParam: precompilato con il parametro Amazon EC2 Systems Manager di una recente AMI Amazon Linux 2023 ottimizzata per Amazon EKS per una versione variabile di Kubernetes. Se si desidera utilizzare una diversa versione secondaria di Kubernetes supportata da Amazon EKS, è possibile sostituire
1.XXcon una versione supportata differente. Si consiglia di specificare la stessa versione Kubernetes del cluster.Puoi anche sostituirlo
amazon-linux-2023con un altro tipo di AMI. Per ulteriori informazioni, consulta Recupera le AMI Amazon Linux consigliate IDs.Nota
I nodi Amazon EKS AMIs sono basati su Amazon Linux. Puoi tenere traccia degli eventi di sicurezza o privacy per Amazon Linux 2023 nell'Amazon Linux Security Center
o abbonarti al feed RSS associato. Gli eventi di sicurezza e privacy includono una panoramica del problema, quali sono i pacchetti interessati e come aggiornare le istanze per risolvere il problema. -
NodeImageId: (Facoltativo) Se utilizzi un'AMI personalizzata (anziché un'AMI ottimizzata per Amazon EKS), inserisci un ID AMI del nodo per la tua AWS regione. Se specifichi un valore qui, questo sostituisce tutti i valori nel NodeImageIdSSMParamcampo.
-
NodeVolumeSize: Specificate la dimensione del volume root per i nodi, in GiB.
-
NodeVolumeType: Specificate un tipo di volume root per i nodi.
-
KeyName: inserisci il nome di una coppia di chiavi Amazon EC2 SSH che puoi usare per connetterti tramite SSH ai tuoi nodi dopo il loro avvio. Se non disponi già di una coppia di EC2 chiavi Amazon, puoi crearne una in Console di gestione AWS. Per ulteriori informazioni, consulta le coppie di EC2 chiavi Amazon nella Amazon EC2 User Guide.
-
VpcId: inserisci l'ID per il VPC che hai creato.
-
Sottoreti: scegli le sottoreti create per il VPC. Se hai creato il VPC utilizzando i passaggi descritti in Create an Amazon VPC for your Amazon EKS cluster, specifica solo le sottoreti private all’interno del VPC per avviare i nodi. È possibile visualizzare le sottoreti private aprendo ogni collegamento relativo alla sottorete dalla scheda Reti del cluster.
Importante
-
Se una qualsiasi delle sottoreti è pubblica, devi abilitare l’impostazione di assegnazione automatica degli indirizzi IP pubblici. Se l'impostazione non è abilitata per la sottorete pubblica, a tutti i nodi distribuiti in quella sottorete pubblica non verrà assegnato un indirizzo IP pubblico e non saranno in grado di comunicare con il cluster o altri servizi. AWS Se la sottorete è stata distribuita prima del 26 marzo 2020 utilizzando uno dei modelli AWS CloudFormation VPC di Amazon EKS o utilizzando
eksctl, l'assegnazione automatica degli indirizzi IP pubblici è disabilitata per le sottoreti pubbliche. Per informazioni su come abilitare l'assegnazione di indirizzi IP pubblici per una sottorete, consulta Modifica dell'attributo di indirizzamento pubblico per la sottorete. IPv4 Se il nodo viene distribuito in una sottorete privata, è in grado di comunicare con il cluster e altri AWS servizi tramite un gateway NAT. -
Se le sottoreti non hanno accesso a Internet, leggi con attenzione le considerazioni e i passaggi aggiuntivi descritti in Deploy private clusters with limited internet access.
-
Se si AWS selezionano le sottoreti Outposts, Wavelength o Local Zone, le sottoreti non devono essere state passate al momento della creazione del cluster.
-
-
-
Seleziona le opzioni desiderate nella pagina Configura opzioni dello stack, quindi scegli Next (Avanti).
-
Seleziona la casella di controllo a sinistra di Riconosco che potrebbe creare risorse IAM. AWS CloudFormation , quindi scegli Create stack.
-
Al termine della creazione dello stack, selezionalo nella console e scegli Output. Se utilizzi le
EKS APIo le modalità diEKS API and ConfigMapautenticazione, questo è l'ultimo passaggio. -
Se stai usando la modalità di
ConfigMapautenticazione, registra il NodeInstanceRoleper il gruppo di nodi che è stato creato.
Fase 2: abilitazione dell’aggiunta di nodi al cluster
Nota
I due passaggi seguenti sono necessari solo se si utilizza la modalità di autenticazione Configmap all'interno del cluster EKS. Inoltre, se hai avviato nodi all'interno di un VPC privato senza accesso a Internet in uscita, assicurati di consentire ai nodi di unirsi al cluster dall'interno del VPC.
-
Verifica se disponi già di una
ConfigMapperaws-auth.kubectl describe configmap -n kube-system aws-auth -
Se ti viene mostrata una
ConfigMapperaws-auth, aggiornala se necessario.-
Apri
ConfigMapper la modifica.kubectl edit -n kube-system configmap/aws-auth -
Aggiungi una nuova voce
mapRoles, se necessario. Impostate ilrolearnvalore sul NodeInstanceRolevalore registrato nella procedura precedente.[...] data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes [...] -
Salva il file ed esci dall’editor di testo.
-
-
Se hai ricevuto un messaggio di errore che indica "
Error from server (NotFound): configmaps "aws-auth" not found", applica loConfigMapdi stock.-
Scarica la mappa di configurazione.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml -
Nel
aws-auth-cm.yamlfile, impostate ilrolearnNodeInstanceRolevalore sul valore registrato nella procedura precedente. Per eseguire questa operazione, utilizza un editor di testo o sostituiscimy-node-instance-roleeseguendo il comando seguente:sed -i.bak -e 's|<ARN of instance role (not instance profile)>|my-node-instance-role|' aws-auth-cm.yaml -
Applica la configurazione. L’esecuzione di questo comando potrebbe richiedere alcuni minuti.
kubectl apply -f aws-auth-cm.yaml
-
-
Guarda lo stato dei nodi e attendi che raggiungano lo stato
Ready.kubectl get nodes --watchInserisci
Ctrl+Cper tornare a un prompt dello shell (interprete di comandi).Nota
Se ricevi qualsiasi altro errore di tipo di risorsa o autorizzazione, consulta la sezione Accesso negato o non autorizzato (kubectl) nell’argomento relativo alla risoluzione dei problemi.
Se i nodi di lavoro non riescono a unirsi al cluster, consulta Impossibile aggiungere i nodi al cluster nel capitolo sulla risoluzione dei problemi.
-
(Solo nodi GPU) Se hai scelto un tipo di istanza GPU e l'AMI accelerata ottimizzata per Amazon EKS, devi applicare il plug-in del dispositivo NVIDIA per
Kubernetes sul tuo cluster. DaemonSet Sostituiscilo vX.X.Xcon la versione s-device-pluginNVIDIA/K8desiderata prima di eseguire il comando seguente. kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
Fase 3: Azioni aggiuntive
-
(Facoltativo) implementare un’applicazione di esempio per testare il cluster e i nodi Linux.
-
(Facoltativo) Se la policy IAM gestita da Amazoneks_CNI_Policy (se hai
IPv4un cluster) o la (che hai creato tu stesso se hai unIPv6cluster) è collegata al ruolo IAMAmazonEKS_CNI_IPv6_Policydel nodo Amazon EKS, ti consigliamo invece di assegnarlo a un ruolo IAM da associare all'account del servizio Kubernetes.aws-nodePer ulteriori informazioni, consulta Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA. -
Consigliamo di bloccare l’accesso dei pod a IMDS se si verificano le seguenti condizioni:
-
Prevedi di assegnare ruoli IAM a tutti gli account del servizio Kubernetes in modo che i pod dispongano solo delle autorizzazioni minime necessarie.
-
Nessun pod nel cluster richiede l'accesso al servizio di metadati delle EC2 istanze Amazon (IMDS) per altri motivi, come il recupero della regione corrente. AWS
Per ulteriori informazioni, consulta Limita l’accesso al profilo dell’istanza assegnato al nodo (worker)
. -