Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Scelta di una tipologia di istanza di nodo Amazon EC2 ottimale
Amazon EC2 offre un’ampia gamma di tipi di istanze per i nodi worker. Ogni tipo di istanza mette a disposizione diverse capacità di calcolo, memoria, archiviazione e rete ed è raggruppata in una famiglia di istanze in base a tali capacità. Per un elenco, consultare Available instance types nella Guida per l’utente di Amazon EC2 per le istanze Linux. Amazon EKS rilascia diverse varianti delle AMI Amazon EC2 per abilitare il supporto. Per assicurarti che il tipo di istanza selezionato sia compatibile con Amazon EKS, prendi in considerazione gli elementi seguenti:
-
Al momento, nessuna AMI Amazon EKS supporta la famiglia
mac. -
Le AMI ARM e Amazon EKS non accelerate non supportano le famiglie
g3,g4,infep. -
Le AMI Amazon EKS accelerate non supportano le famiglie
a,c,hpc,met. -
Per le istanze basate su ARM, Amazon Linux 2023 (AL2023) supporta solo i tipi di istanza che utilizzano processori Graviton2 o successivi. AL2023 non supporta le istanze
A1.
Quando scegli i tipi di istanza supportati da Amazon EKS, considera le caratteristiche seguenti per ogni tipo.
- Numero di istanze in un gruppo di nodi
-
In generale, istanze in numero ridotto e di grandi dimensioni sono più convenienti, specialmente disponi di molti DaemonSet. Ogni istanza richiede chiamate API al server API, per cui maggiore è il numero di istanze di cui si dispone, maggiore è il carico sul server API.
- Sistema operativo
-
Esamina i tipi di istanza supportati per Linux, Windows e Bottlerocket
. Prima di creare istanze Windows, consultare Deploy Windows nodes on EKS clusters. - Architettura hardware
-
Hai bisogno di x86 o ARM? Prima di implementare istanze ARM, consultare Amazon EKS optimized Arm Amazon Linux AMIs. Hai bisogno di istanze costruite sul sistema Nitro (Linux o Windows) o che hanno una elaborazione Accelerata? Se hai bisogno di funzionalità accelerate, puoi usare Linux solo con Amazon EKS.
- Numero massimo di pod
-
Dal momento che a ogni Pod viene assegnato il proprio indirizzo IP, il numero di indirizzi IP supportati da un tipo di istanza è un fattore importante per determinare il numero di pod che possono essere eseguiti sull’istanza. Per determinare manualmente il numero di Pod supportati da un tipo di istanza, consultare Per ogni tipo di istanza Amazon EC2, Amazon EKS consiglia un numero massimo di pod.
Nota
Se stai usando un’AMI Amazon Linux 2 versione
v20220406o più recente ottimizzata per Amazon EKS, puoi utilizzare un nuovo tipo di istanza senza eseguire l’aggiornamento all’AMI più recente. In questi casi, l’AMI calcola automaticamente il valoremax-podsnecessario se non è elencato nel file eni-max-pods.txt. Per impostazione predefinita, i tipi di istanza attualmente in anteprima potrebbero non essere supportati da Amazon EKS. I valori max-podsper tali tipi di istanza devono ancora essere aggiunti nel fileeni-max-pods.txtdell’AMI.Facoltativamente, i tipi di istanza basati su AWS Nitro System
supportano un numero significativamente maggiore di indirizzi IP rispetto ai tipi di istanza non basate su Nitro System. Tuttavia, non tutti gli indirizzi IP assegnati ad un’istanza sono disponibili per i Pod. Per assegnare un numero significativamente maggiore di indirizzi IP alle istanze, è necessario che la versione 1.9.0o successiva del componente aggiuntivo CNI di Amazon VPC sia installata nel cluster e che sia configurata in modo appropriato. Per ulteriori informazioni, consulta Assegnazione di più indirizzi IP ai nodi Amazon EKS con prefissi. Per assegnare il maggior numero di indirizzi IP alle istanze, è necessario che la versione1.10.1o successiva del componente aggiuntivo CNI di Amazon VPC sia installata nel cluster e che si implementi il cluster con la famigliaIPv6. - Famiglia di IP
-
Per la creazione di un cluster tramite la famiglia
IPv4, puoi scegliere qualsiasi tipo di istanza supportata, il che consente al cluster di assegnare indirizziIPv4privati ai Pod e servizi. Se tuttavia desideri impiegare la famigliaIPv6per il cluster, utilizza i tipi di istanza AWS Nitro Systemo bare metal. Per le istanze Windows è supportato solo IPv4. Il cluster deve eseguire la versione1.10.1o successiva del componente aggiuntivo CNI di Amazon VPC. Per ulteriori informazioni sull’utilizzo diIPv6, consultare Informazioni sugli indirizzi IPv6 per cluster, pod e servizi. - Versione del componente aggiuntivo CNI di Amazon VPC in uso
-
La versione più recente del plug-in CNI di Amazon VPC per Kubernetes
supporta i seguenti tipi di istanza . Per sfruttare i tipi più recenti di istanza supportati, potrebbe essere necessario aggiornare la versione del componente aggiuntivo CNI di Amazon VPC. Per ulteriori informazioni, consulta Assegna IP ai pod con CNI di Amazon VPC. L’ultima versione supporta le funzionalità più recenti per l’utilizzo con Amazon EKS. Le versioni precedenti non supportano tutte le funzionalità. È possibile visualizzare le funzionalità supportate dalle diverse versioni nella finestra di dialogo Changelog su GitHub. - La Regione AWS in cui stai creando i nodi
-
Non tutti i tipi di istanze sono disponibili in tutte le regioni AWS.
- Se stai usando gruppi di sicurezza per i Pod
-
Se stai usando gruppi di sicurezza per i Pod, sono supportati solo tipi specifici di istanza. Per ulteriori informazioni, consulta Assegnazione dei gruppi di sicurezza ai singoli pod.
Per ogni tipo di istanza Amazon EC2, Amazon EKS consiglia un numero massimo di pod
Dal momento che a ogni Pod viene assegnato il proprio indirizzo IP, il numero di indirizzi IP supportati da un tipo di istanza è un fattore importante per determinare il numero di Pod che possono essere eseguiti sull’istanza. Amazon EKS fornisce uno script da scaricare ed eseguire per determinare il numero massimo di pod consigliato da Amazon EKS per l’esecuzione su ciascun tipo di istanza. Lo script utilizza gli attributi hardware di ogni istanza e le opzioni di configurazione per determinare il numero massimo di pod. Puoi utilizzare il numero restituito in queste fasi per abilitare funzionalità quali l’assegnazione di indirizzi IP ai pod da una sottorete diversa da quella dell’istanza e l’aumento significativo del numero di indirizzi IP dell’istanza. Se si utilizza un gruppo di nodi gestiti con più tipi di istanza, scegliere un valore adatto a tutti i tipi di istanza.
-
Eseguire il download dello script, utilizzabile per calcolare il numero massimo di pod per ogni tipo di istanza.
curl -O https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/templates/al2/runtime/max-pods-calculator.sh -
Contrassegnare lo script come eseguibile sul computer.
chmod +x max-pods-calculator.sh -
Esegui lo script, sostituendo
m5.largecon il tipo di istanza che prevedi di implementare e1.9.0-eksbuild.1con la tua versione del componente aggiuntivo CNI di Amazon VPC. Per determinare la versione del componente aggiuntivo, consulta le procedure di aggiornamento in Assign IPs to Pods with the Amazon VPC CNI../max-pods-calculator.sh --instance-type m5.large --cni-version 1.9.0-eksbuild.1Di seguito viene riportato un output di esempio.
29È possibile aggiungere le seguenti opzioni allo script per visualizzare il numero massimo di pod supportati quando si utilizzano funzionalità opzionali.
-
--cni-custom-networking-enabled: utilizza questa opzione quando desideri assegnare indirizzi IP da una sottorete diversa da quella della propria istanza. Per ulteriori informazioni, consulta Implementazione dei pod in sottoreti alternative con reti personalizzate. L’aggiunta di questa opzione allo script precedente, con gli stessi valori di esempio, produce20. -
--cni-prefix-delegation-enabled: utilizzare questa opzione quando si desidera assegnare un numero significativo di indirizzi IP a ciascuna interfaccia di rete elastica. Questa funzionalità richiede un’istanza Amazon Linux eseguita su Nitro System e la versione1.9.0o successiva del componente aggiuntivo CNI di Amazon VPC. Per ulteriori informazioni, consulta Assegnazione di più indirizzi IP ai nodi Amazon EKS con prefissi. L’aggiunta di questa opzione allo script precedente, con gli stessi valori di esempio, produce110.
-
Puoi inoltre eseguire lo script con l’opzione --help per visualizzare tutte le opzioni disponibili.
Nota
Lo script del calcolatore di Pod massimi limita il valore restituito a 110 in base alle soglie di scalabilità di Kubernetes250, un numero basato sui test interni del team di scalabilità di Amazon EKS. Per ulteriori informazioni, consulta il post del blog Amazon VPC CNI plugin increases pods per node limits
Considerazioni per EKS Auto Mode
EKS Auto Mode limita il numero di pod sui nodi al valore inferiore tra:
-
Tappo rigido da 110 pod
-
Il risultato del calcolo del numero massimo di pod descritto sopra.