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à.
Ottimizzazione dell'utilizzo degli indirizzi IP
Suggerimento
Esplora le
Gli ambienti containerizzati stanno crescendo in scala a un ritmo rapido, grazie alla modernizzazione delle applicazioni. Ciò significa che vengono implementati sempre più nodi e pod di lavoro.
Il plug-in Amazon VPC CNI assegna a ciascun pod un indirizzo IP dai CIDR del VPC. Questo approccio offre la piena visibilità degli indirizzi Pod con strumenti come VPC Flow Logs e altre soluzioni di monitoraggio. A seconda del tipo di carico di lavoro, ciò può far sì che i pod consumino un numero considerevole di indirizzi IP.
Quando si progetta l'architettura di rete AWS, è importante ottimizzare il consumo IP di Amazon EKS a livello di VPC e di nodo. Questo ti aiuterà a mitigare i problemi di esaurimento degli IP e ad aumentare la densità dei pod per nodo.
In questa sezione, discuteremo delle tecniche che possono aiutarti a raggiungere questi obiettivi.
Ottimizza il consumo di IP a livello di nodo
https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.htmlLa delega dei prefissi è una funzionalità di Amazon Virtual Private Cloud (Amazon VPC) che consente di assegnare prefissi IPv4 o IPv6 alle istanze Amazon Elastic Compute Cloud (Amazon EC2). Aumenta gli indirizzi IP per interfaccia di rete (ENI), aumentando la densità dei pod per nodo e migliorando l'efficienza di elaborazione. La delega dei prefissi è supportata anche con Custom Networking.
Per informazioni dettagliate, consulta le sezioni Delega dei prefissi con i nodi Linux e Delega dei prefissi con i nodi Windows.
Riduci l'esaurimento degli IP
Per evitare che i cluster consumino tutti gli indirizzi IP disponibili, consigliamo vivamente di dimensionare i VPC e le sottoreti tenendo conto della crescita.
L'adozione dell'IPv6 è un ottimo modo per evitare questi problemi sin dall'inizio. Tuttavia, per le organizzazioni le cui esigenze di scalabilità superano la pianificazione iniziale e non possono adottare l'IPv6, migliorare la progettazione del VPC è la risposta consigliata all'esaurimento degli indirizzi IP. La tecnica più comunemente utilizzata dai clienti di Amazon EKS è l'aggiunta di CIDR secondari non instradabili al VPC e la configurazione del CNI VPC per utilizzare questo spazio IP aggiuntivo nell'allocazione degli indirizzi IP ai pod. Questa operazione viene comunemente definita rete personalizzata.
Vedremo quali variabili del CNI di Amazon VPC puoi utilizzare per ottimizzare il pool caldo di IP assegnato ai tuoi nodi. Chiuderemo questa sezione con alcuni altri modelli architettonici che non sono intrinseci ad Amazon EKS ma possono aiutare a mitigare l'esaurimento degli IP.
Usa IPv6 (consigliato)
L'adozione dell'IPv6 è il modo più semplice per aggirare le limitazioni della RFC1918; consigliamo vivamente di prendere in considerazione l'adozione dell'IPv6 come prima opzione nella scelta di un'architettura di rete. L'IPv6 offre uno spazio totale di indirizzi IP significativamente più ampio e gli amministratori dei cluster possono concentrarsi sulla migrazione e sulla scalabilità delle applicazioni senza dedicarsi all'aggirare i limiti IPv4.
I cluster Amazon EKS supportano sia IPv4 che IPv6. Per impostazione predefinita, i cluster EKS utilizzano lo spazio degli indirizzi IPv4. La specificazione di uno spazio di indirizzi basato su IPv6 al momento della creazione del cluster consentirà l'uso di IPv6. In un cluster EKS IPv6, i pod e i servizi ricevono indirizzi IPv6 mantenendo la capacità degli endpoint IPv4 legacy di connettersi ai servizi in esecuzione su cluster IPv6 e viceversa. Tutte le comunicazioni pod-to-pod all'interno di un cluster avvengono sempre tramite IPv6. All'interno di un VPC (/56), la dimensione del blocco CIDR IPv6 per le sottoreti IPv6 è fissata a /64. Ciò fornisce 2^64 (circa 18 quintilioni) di indirizzi IPv6 che consentono di scalare le implementazioni su EKS.
Per informazioni dettagliate, consulta la sezione Running IPv6 EKS Clusters e per un'esperienza pratica, consulta la sezione Understanding IPv6 on Amazon EKS del workshop Get hands-on with IPv6.
Ottimizza il consumo IP nei cluster IPv4
Questa sezione è dedicata ai clienti che eseguono applicazioni legacy e non and/or sono pronti per la migrazione a IPv6. Sebbene incoraggiamo tutte le organizzazioni a migrare all'IPv6 il prima possibile, riconosciamo che alcune potrebbero comunque dover cercare approcci alternativi per scalare i carichi di lavoro dei container con IPv4. Per questo motivo, ti illustreremo anche i modelli architetturali per ottimizzare il consumo di spazio di indirizzamento IPv4 (RFC1918) con i cluster Amazon EKS.
Piano di crescita
Come prima linea di difesa contro l'esaurimento degli IP, consigliamo vivamente di dimensionare i VPC e le sottoreti IPv4 tenendo conto della crescita, per evitare che i cluster consumino tutti gli indirizzi IP disponibili. Non sarai in grado di creare nuovi pod o nodi se le sottoreti non dispongono di un numero sufficiente di indirizzi IP disponibili.
Prima di creare VPC e sottoreti, è consigliabile procedere a ritroso partendo dalla scala del carico di lavoro richiesta. Ad esempio, quando i cluster vengono creati utilizzando eksctl
Importante
Quando si dimensionano VPC e sottoreti, potrebbero esserci diversi elementi (diversi da pod e nodi) che possono utilizzare indirizzi IP, ad esempio Load Balancer, database RDS e altri servizi in-vpc.
Inoltre, Amazon EKS può creare fino a 4 interfacce di rete elastiche (X-ENI) necessarie per consentire la comunicazione verso il piano di controllo (maggiori informazioni qui). Considerazioni su VPC e sottorete Durante gli aggiornamenti dei cluster, Amazon EKS ne crea di nuovi X-ENIs ed elimina quelli vecchi quando l'aggiornamento ha esito positivo. Per questo motivo consigliamo una maschera di rete di almeno /28 (16 indirizzi IP) per le sottoreti associate a un cluster EKS.
Puoi utilizzare il foglio di calcolo di
Rete personalizzata
Se stai per esaurire lo spazio IP RFC1918, puoi utilizzare il pattern Custom Networking per conservare gli IP instradabili programmando i pod all'interno di sottoreti aggiuntive dedicate. Sebbene la rete personalizzata accetti un intervallo VPC valido per l'intervallo CIDR secondario, ti consigliamo di utilizzare i CIDR dallo spazio di indirizzi 100.64.0.0/10 condiviso (RFC 6598) poiché è meno probabile che vengano utilizzati in un ambiente aziendale rispetto agli intervalli RFC1918. Ad esempio, puoi utilizzarlo come CIDR secondario per il tuo VPC. 100.64.0.0/16 Vedi Restrizioni di associazione a blocchi CIDR IPv4 per gli intervalli CIDR secondari consentiti.
Per informazioni dettagliate, consulta la sezione dedicata alle reti personalizzate. Rete personalizzata
Individuazione avanzata delle sottoreti
Enhanced Subnet Discovery fornisce un'alternativa di configurazione di rete semplificata per l'esaurimento degli IP, etichettando le nuove sottoreti in modo che siano rilevabili dal CNI di Amazon VPC. CNI di Amazon VPC Con Enhanced Subnet Discovery, i carichi di lavoro attuali possono continuare a funzionare sulle stesse sottoreti e Amazon Elastic Kubernetes Service (Amazon EKS) può ora pianificare pod aggiuntivi sulle nuove «sottoreti utilizzabili».
Se le sottoreti attuali del tuo cluster stanno esaurendo gli indirizzi IP, puoi semplicemente aggiungere altre sottoreti al tuo cluster Amazon EKS come segue:
-
Associa un nuovo blocco CIDR al tuo VPC.
-
Crea una nuova sottorete nel nuovo blocco CIDR e taggala con «kubernetes». io/role/cni "= «1".
-
Abilita la configurazione ENABLE_SUBNET_DISCOVERY del componente aggiuntivo Amazon VPC CNI su «true» (impostazione predefinita dalla versione 1.18.0).
Una volta abilitato Enhanced Subnet Discovery sui tuoi cluster VPC e Amazon EKS, le nuove Elastic Network Interfaces (ENI) verranno collegate ai tuoi nodi Amazon EKS come descritto nel diagramma seguente:
Per ulteriori informazioni, consulta Amazon VPC CNI introduces Enhanced Subnet Discovery
Ottimizza il warm pool di IP
Con la configurazione predefinita, il VPC CNI mantiene un intero ENI (e gli IP associati) nel warm pool. Questo può consumare un numero elevato di IP, specialmente su tipi di istanze più grandi.
Se la sottorete del cluster ha un numero limitato di indirizzi IP disponibili, esaminate queste variabili di ambiente di configurazione CNI VPC:
-
WARM_IP_TARGET -
MINIMUM_IP_TARGET -
WARM_ENI_TARGET
Puoi configurare il valore di in modo che corrisponda fedelmente MINIMUM_IP_TARGET al numero di Pod che prevedi di eseguire sui tuoi nodi. In questo modo, man mano che i Pod vengono creati, il CNI potrà assegnare indirizzi IP dal warm pool senza chiamare l'API EC2.
Tieni presente che l'impostazione di un valore WARM_IP_TARGET troppo basso causerà ulteriori chiamate all'API EC2 e ciò potrebbe causare la limitazione delle richieste. Per i cluster di grandi dimensioni, usa insieme MINIMUM_IP_TARGET per evitare la limitazione delle richieste.
Per configurare queste opzioni, puoi scaricare il aws-k8s-cni.yaml manifest e impostare le variabili di ambiente. Al momento della stesura, la versione più recente si trova qui
avvertimento
Queste impostazioni verranno ripristinate ai valori predefiniti quando si aggiorna il CNI. Effettua un backup del CNI prima di aggiornarlo. Rivedi le impostazioni di configurazione per determinare se è necessario riapplicarle dopo il successo dell'aggiornamento.
Puoi modificare i parametri CNI al volo senza tempi di inattività per le tue applicazioni esistenti, ma dovresti scegliere valori che supportino le tue esigenze di scalabilità. Ad esempio, se lavori con carichi di lavoro in batch, ti consigliamo di aggiornare l'impostazione predefinita in modo che soddisfi le esigenze WARM_ENI_TARGET di scala Pod. L'impostazione WARM_ENI_TARGET su un valore elevato mantiene sempre invariato il pool IP necessario per eseguire carichi di lavoro in batch di grandi dimensioni e quindi evitare ritardi nell'elaborazione dei dati.
avvertimento
Migliorare la progettazione del VPC è la risposta consigliata all'esaurimento degli indirizzi IP. Prendi in considerazione soluzioni come IPv6 e CIDR secondari. La regolazione di questi valori per ridurre al minimo il numero di IP Warm dovrebbe essere una soluzione temporanea dopo l'esclusione di altre opzioni. L'errata configurazione di questi valori può interferire con il funzionamento del cluster. Prima di apportare modifiche a un sistema di produzione, assicurati di esaminare le considerazioni in questa pagina.
Monitora l'inventario degli indirizzi IP
Oltre alle soluzioni sopra descritte, è anche importante avere visibilità sull'utilizzo dell'IP. È possibile monitorare l'inventario degli indirizzi IP delle sottoreti utilizzando CNI Metrics Helper.
-
numero massimo di ENI che il cluster può supportare
-
numero di ENI già assegnati
-
numero di indirizzi IP attualmente assegnati ai Pods
-
numero totale e massimo di indirizzi IP disponibili
Puoi anche impostare CloudWatch allarmi per ricevere una notifica se una sottorete sta esaurendo gli indirizzi IP.
avvertimento
Assicurati che la DISABLE_METRICS variabile per VPC CNI sia impostata su false.
Ulteriori considerazioni
Esistono altri modelli architettonici non intrinseci ad Amazon EKS che possono contribuire all'esaurimento degli IP. Ad esempio, puoi ottimizzare la comunicazione tra VPC o condividere un VPC su più account per limitare l'allocazione degli indirizzi IPv4.
Scopri di più su questi modelli qui: