Quali sono le best practice per configurare il plug-in Amazon VPC CNI per l'utilizzo di un indirizzo IP nelle sottoreti VPC con Amazon EKS?

Ultimo aggiornamento: 22/11/2021

Desidero configurare il plug-in Amazon Virtual Private Cloud (VPC) Container Network Interface (CNI) per utilizzare un indirizzo IP nelle sottoreti VPC con Amazon Elastic Kubernetes Service (Amazon EKS). Quali sono le best practice?

Breve descrizione

Uno dei componenti principali di Amazon VPC CNI è il daemon L-IPAM. Puoi configurare questo daemon per allocare gli indirizzi IP ai nodi.

Se un nuovo pod è pianificato su un nodo, il kubelet richiama il binario CNI. Il binario CNI chiama L-IPAMD per ottenere un indirizzo IP per il nuovo pod. Il pod tiene quindi traccia delle interfacce di rete elastiche e degli indirizzi IP collegati all'istanza.

Puoi utilizzare determinate variabili di configurazione per controllare quante interfacce di rete e indirizzi IP vengono mantenuti. Per maggiori informazioni, consulta WARM_ENI_TARGET, WARM_IP_TARGET e MINIMUM_IP_TARGET e WARM_PREFIX_TARGET, WARM_IP_TARGET e MINIMUM_IP_TARGET (dal sito Web GitHub).

Risoluzione

Di seguito sono riportate le best practice di base per l'utilizzo delle variabili di configurazione per controllare quante interfacce di rete e indirizzi IP vengono mantenuti.

WARM_ENI_TARGET

Utilizza la variabile WARM_ENI_TARGET per determinare il numero di interfacce di rete elastiche che L-IPAMD rende disponibili in modo che ai pod venga immediatamente assegnato un indirizzo IP quando pianificato su un nodo.

  • Per evitare l'esaurimento degli indirizzi IP disponibili nella sottorete, assicurati di controllare il tipo di istanza del nodo (worker) e il numero massimo di interfacce di rete e indirizzi IPv4 privati per interfaccia. Ad esempio, se imposti WARM_ENI_TARGET=3 per un nodo m5.xlarge, tre interfacce di rete elastiche sono sempre collegate al nodo. Il nodo assegna quindi 45 indirizzi IP, 15 per interfaccia di rete elastica. Poiché i 45 indirizzi IP sono riservati per questo nodo, tali indirizzi non possono essere utilizzati per i pod pianificati su altri nodi (worker).
  • Se prevedi che la tua applicazione si dimensioni notevolmente, puoi utilizzare WARM_ENI_TARGET per ospitare rapidamente i pod appena pianificati.

WARM_IP_TARGET

Utilizza la variabile WARM_IP_TARGET per assicurarti di avere sempre un numero definito di indirizzi IP disponibili nel warm pool di L-IPAMD.

  • Per i cluster con bassa produttività, utilizza WARM_IP_TARGET in modo che all'interfaccia di rete venga assegnato solo il numero richiesto di indirizzi IP. Ciò impedisce il blocco degli indirizzi IP delle interfacce di rete elastiche.

MINIMUM_IP_TARGET

Utilizza MINIMUM_IP_TARGET per assicurarti che un numero minimo di indirizzi IP sia assegnato a un nodo quando viene visualizzato inizialmente. Questa variabile viene generalmente utilizzata con la variabile WARM_IP_TARGET.

  • Se conosci il numero minimo di pod che eseguirai per nodo, usa MINIMUM_IP_TARGET in modo da assegnare il numero richiesto di indirizzi IP. Se gli indirizzi IP sono prontamente disponibili, i pod possono riceverli man mano che sono pianificati.
  • Imposta questa variabile con WARM_IP_TARGET per assicurarti che ci siano indirizzi IP disponibili sul nodo per i pod futuri.

WARM_PREFIX_TARGET

Utilizza la variabile WARM_PREFIX_TARGET per assicurarti di avere sempre un numero definito di prefissi (/28 blocchi CIDR) aggiunti all'interfaccia di rete dell'istanza. Puoi utilizzare WARM_PREFIX_TARGET solo per versione 1.9.0 CNI o successiva e devi attivare la funzionalità di assegnazione del prefisso dell'indirizzo IP CNI di Amazon VPC.

  • Se utilizzi l'assegnazione del prefisso dell'indirizzo IP, assicurati che la variabile WARM_PREFIX_TARGET sia impostata su un valore maggiore o uguale a 1. Se è impostato su 0, viene visualizzato il seguente errore:
Error: Setting WARM_PREFIX_TARGET = 0 is not supported while WARM_IP_TARGET/MINIMUM_IP_TARGET is not set. 
Please configure either one of the WARM_{PREFIX/IP}_TARGET or MINIMUM_IP_TARGET env variables
  • Per le sottoreti più piccole, utilizza WARM_IP_TARGET con WARM_PREFIX_TARGET per evitare di allocare troppi prefissi. L'allocazione di troppi prefissi può esaurire gli indirizzi IP disponibili.

Per ulteriori informazioni su come queste variabili di configurazione influiscono sull'utilizzo dell'indirizzo IP, consulta Variabili di configurazione CNI (dal sito Web GitHub).


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?