View a markdown version of this page

Scelta di una tipologia di istanza di nodo Amazon EC2 ottimale - Amazon EKS

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 su che si trova 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à.

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, inf e p.

  • Le AMI Amazon EKS accelerate non supportano le famiglie a, c, hpc, m e t.

  • Ad Arm-based esempio, Amazon Linux 2023 (AL2023) supporta solo 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 capire come viene determinato il numero massimo di Pod per un tipo di istanza, consulta. Come viene determinato MaxPods

AWS I tipi di istanza di Nitro System supportano opzionalmente un numero significativamente maggiore di indirizzi IP rispetto ai tipi di istanze non 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.0 o 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 versione 1.10.1 o successiva del componente aggiuntivo CNI di Amazon VPC sia installata nel cluster e che si implementi il cluster con la famiglia IPv6.

Famiglia 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 indirizzi IPv4 privati ai Pod e servizi. Se tuttavia desideri impiegare la famiglia IPv6 per il cluster, utilizza i tipi di istanza AWS Nitro System o bare metal. Per le istanze Windows è supportato solo IPv4. Il cluster deve eseguire la versione 1.10.1 o successiva del componente aggiuntivo CNI di Amazon VPC. Per ulteriori informazioni sull’utilizzo di IPv6, 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à. Puoi visualizzare le funzionalità supportate dalle diverse versioni in Changelog su GitHub.

La Regione AWS in cui stai creando i nodi

Non tutti i tipi di istanza sono disponibili in tutte le AWS regioni.

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.

Come viene determinato MaxPods

Il maxPods valore finale applicato a un nodo dipende da diversi componenti che interagiscono in uno specifico ordine di precedenza. La comprensione di questo ordine consente di evitare comportamenti imprevisti durante la personalizzazionemaxPods.

Ordine di precedenza (dal più alto al più basso):

  1. Applicazione gestita dei gruppi di nodi: quando si utilizza un gruppo di nodi gestiti senza un'AMI personalizzata, Amazon EKS impone maxPods un limite ai dati utente del nodo. Per le istanze con meno di 30 vCPU, il limite è. 110 Per le istanze con più di 30 vCPU, il limite è. 250 Questo valore ha la precedenza su qualsiasi altra maxPods configurazione, inclusa. maxPodsExpression

  2. maxPodsconfigurazione kubelet — Se si imposta maxPods direttamente nella configurazione kubelet (ad esempio, tramite un modello di avvio con un'AMI personalizzata), questo valore ha la precedenza su. maxPodsExpression

  3. nodeadm maxPodsExpression — Se lo usi maxPodsExpression nel tuoNodeConfig, nodeadm valuta l'espressione da calcolare. maxPods Questo è efficace solo quando il valore non è già impostato da una fonte con precedenza più alta.

  4. ENI-based Calcolo predefinito: se non viene impostato nessun altro valore, l'AMI calcola in maxPods base al numero di interfacce di rete elastiche e di indirizzi IP supportati dal tipo di istanza. È equivalente alla formula. (number of ENIs × (IPs per ENI − 1)) + 2 Gli + 2 account di Amazon VPC CNI sono kube-proxy attivi su tutti i nodi e non utilizzano un indirizzo IP Pod.

Importante

Se utilizzi un gruppo di nodi gestiti e lo maxPodsExpression impostiNodeConfig, l'applicazione del gruppo di nodi gestiti sovrascrive la tua espressione. Per utilizzare un maxPods valore personalizzato con i gruppi di nodi gestiti, devi specificare un'AMI personalizzata nel modello di avvio e maxPods impostarla direttamente. Per ulteriori informazioni, consulta Personalizzazione dei nodi gestiti con modelli di avvio.

Gruppi di nodi gestiti e nodi autogestiti

Con i gruppi di nodi gestiti (senza un'AMI personalizzata), Amazon EKS inserisce il maxPods valore nei dati utente bootstrap del nodo. Ciò significa che:

  • Il maxPods valore è sempre limitato 110 o 250 dipende dalla dimensione dell'istanza.

  • Qualsiasi maxPodsExpression configurazione viene sovrascritta da questo valore iniettato.

  • Per utilizzare un maxPods valore diverso, specifica un'AMI personalizzata nel modello di avvio e passala --use-max-pods false --kubelet-extra-args '--max-pods=my-value' allo script. bootstrap.sh Per alcuni esempi, consulta Personalizzazione dei nodi gestiti con modelli di avvio.

Con i nodi autogestiti, hai il pieno controllo del processo di bootstrap. Puoi utilizzare maxPodsExpression nel tuo NodeConfig o passare --max-pods direttamente a. bootstrap.sh

Considerazioni per la modalità automatica di EKS

modalità automatica di EKS limita il numero di pod sui nodi al valore inferiore tra:

  • Tappo rigido da 110 pod

  • number of ENIs × (IPs per ENI − 1)