

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à.

# Modalità prefisso per Linux
<a name="prefix-mode-linux"></a>

**Suggerimento**  
 [Esplora](https://awsworkshop.io/eks?trk=4a9b4147-2490-4c63-bc9f-f8a84b122c8c&sc_channel=el) best practice tramite i workshop Amazon EKS.

Amazon VPC CNI assegna prefissi di rete a [Interfacce di rete Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) per aumentare il numero di indirizzi IP disponibili per i nodi e aumentare la densità dei pod per nodo. Puoi configurare la versione 1.9.0 o successiva del componente aggiuntivo Amazon VPC CNI per assegnare CIDR IPv4 e IPv6 invece di assegnare singoli indirizzi IP secondari alle interfacce di rete.

La modalità prefisso è abilitata di default sui cluster IPv6 ed è l'unica opzione supportata. Il VPC CNI assegna un prefisso IPv6 /80 a uno slot su un ENI. Si prega di fare riferimento al [sezione IPv6 di questa guida](ipv6.md) per ulteriori informazioni.

Con la modalità di assegnazione dei prefissi, il numero massimo di interfacce di rete elastiche per tipo di istanza rimane lo stesso, ma ora puoi configurare Amazon VPC CNI per assegnare prefissi di indirizzi IPv4 /28 (16 indirizzi IP), invece di assegnare singoli indirizzi IPv4 agli slot sulle interfacce di rete. Quando `ENABLE_PREFIX_DELEGATION` è impostato su true VPC CNI assegna un indirizzo IP a un Pod dal prefisso assegnato a un ENI. Si prega di seguire le istruzioni riportate nella [Guida per l'utente EKS](https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html) per abilitare la modalità Prefix IP.

![illustrazione di due sottoreti di lavoro](https://docs.aws.amazon.com/it_it/eks/latest/best-practices/images/networking/pm_image.png)


Il numero massimo di indirizzi IP che è possibile assegnare a un'interfaccia di rete dipende dal tipo di istanza. Ogni prefisso assegnato a un'interfaccia di rete conta come un unico indirizzo IP. Ad esempio, un'istanza `c5.large` ha un limite di `10` indirizzi IPv4 per interfaccia di rete. Ogni interfaccia di rete per questa istanza ha un indirizzo IPv4 primario. Se un'interfaccia di rete non ha indirizzi IPv4 secondari, è possibile assegnare fino a 9 prefissi all'interfaccia di rete. Per ogni indirizzo IPv4 aggiuntivo assegnato a un'interfaccia di rete, a questa è possibile assegnare un prefisso in meno. Consulta la documentazione di AWS EC2 su [Indirizzi IP per interfaccia di rete per tipo di istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) e [assegnazione di prefissi alle interfacce di rete.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) 

Durante l'inizializzazione del nodo di lavoro, il CNI VPC assegna uno o più prefissi all'ENI primario. Il CNI preassegna un prefisso per un avvio più rapido del pod mantenendo un pool caldo. Il numero di prefissi da mantenere in warm pool può essere controllato impostando le variabili di ambiente.
+  `WARM_PREFIX_TARGET`, il numero di prefissi da assegnare in eccesso rispetto al fabbisogno attuale.
+  `WARM_IP_TARGET`, il numero di indirizzi IP da assegnare in eccesso rispetto alle esigenze attuali.
+  `MINIMUM_IP_TARGET`, il numero minimo di indirizzi IP che devono essere disponibili in qualsiasi momento.
+  `WARM_IP_TARGET` e `MINIMUM_IP_TARGET` se impostato sovrascriverà `WARM_PREFIX_TARGET`.

Man mano che verranno programmati altri Pod, verranno richiesti prefissi aggiuntivi per l'ENI esistente. Innanzitutto, il VPC CNI tenta di assegnare un nuovo prefisso a un ENI esistente. Se l'ENI è al massimo della capacità, il VPC CNI tenta di assegnare un nuovo ENI al nodo. I nuovi ENI verranno collegati fino al raggiungimento del limite massimo ENI (definito dal tipo di istanza). Quando viene collegato un nuovo ENI, ipamd assegnerà uno o più prefissi necessari per mantenere il `WARM_PREFIX_TARGET`, `WARM_IP_TARGET`, e `MINIMUM_IP_TARGET` impostazione.

![diagramma di flusso della procedura per l'assegnazione dell'IP al pod](https://docs.aws.amazon.com/it_it/eks/latest/best-practices/images/networking/pm_image-2.jpeg)


## Raccomandazioni
<a name="_recommendations"></a>

### Usa la modalità prefisso quando
<a name="_use_prefix_mode_when"></a>

Usa la modalità prefisso se riscontri problemi di densità dei pod sui nodi di lavoro. Per evitare errori CNI di VPC, consigliamo di esaminare le sottoreti alla ricerca di blocchi contigui di indirizzi per il prefisso /28 prima di migrare alla modalità prefisso. Si prega di fare riferimento a» [Utilizza le prenotazioni di sottorete per evitare la frammentazione della sottorete (IPv4)](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-cidr-reservation.html) sezione "per i dettagli sulle prenotazioni delle sottoreti.

Per la compatibilità con le versioni precedenti, [max-pods](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/misc/eni-max-pods.txt) il limite è impostato per supportare la modalità IP secondaria. Per aumentare la densità dei pod, specificate `max-pods` valore per Kubelet e `--use-max-pods=false` come dati utente per i nodi. Per ulteriori informazioni, vedere [Come viene determinato MaxPods](https://docs.aws.amazon.com/eks/latest/userguide/choosing-instance-type.html#max-pods-precedence) nella Guida per l'utente di Amazon EKS. Fai riferimento all'EKS [guida per l'utente](https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html) ad esempio dati utente.

```
./max-pods-calculator.sh --instance-type m5.large --cni-version ``1.9``.0 --cni-prefix-delegation-enabled
```

La modalità di assegnazione dei prefissi è particolarmente rilevante per gli utenti di [Rete personalizzata CNI](https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html) dove l'ENI primario non viene utilizzato per i pod. Con l'assegnazione del prefisso, puoi comunque collegare più IP su quasi tutti i tipi di istanze Nitro, anche senza l'ENI principale utilizzato per i pod.

### Evita la modalità prefisso quando
<a name="_avoid_prefix_mode_when"></a>

Se la sottorete è molto frammentata e non dispone di indirizzi IP disponibili per creare prefissi /28, evitate di utilizzare la modalità prefisso. L'allegato del prefisso può avere esito negativo se la sottorete da cui viene prodotto il prefisso è frammentata (una sottorete molto utilizzata con indirizzi IP secondari sparsi). Questo problema può essere evitato creando una nuova sottorete e riservando un prefisso.

In modalità prefisso, il gruppo di sicurezza assegnato ai nodi di lavoro è condiviso dai Pod. Prendi in considerazione l'utilizzo [Gruppi di sicurezza per Pods](sgpp.md)se hai un requisito di sicurezza per raggiungere la conformità eseguendo applicazioni con requisiti di sicurezza di rete diversi su risorse di calcolo condivise.

### Utilizza tipi di istanza simili nello stesso gruppo di nodi
<a name="_use_similar_instance_types_in_the_same_node_group"></a>

Il tuo gruppo di nodi può contenere istanze di molti tipi. Se un'istanza ha un numero massimo di pod basso, tale valore viene applicato a tutti i nodi del gruppo di nodi. Prendi in considerazione l'utilizzo di tipi di istanza simili in un gruppo di nodi per massimizzare l'uso dei nodi. Ti consigliamo di configurare [nodo.kubernetes.io/instance-tipo](https://karpenter.sh/docs/concepts/nodepools/) nella parte relativa ai requisiti dell'API del provider se si utilizza Karpenter per il ridimensionamento automatico dei nodi.

**avvertimento**  
Il numero massimo di pod per tutti i nodi in un particolare gruppo di nodi è definito da *il più basso* numero massimo di pod di ogni singolo tipo di istanza nel gruppo di nodi.

### Configura `WARM_PREFIX_TARGET` per conservare gli indirizzi IPv4
<a name="_configure_warm_prefix_target_to_conserve_ipv4_addresses"></a>

Il [manifesto di installazione](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/config/master/aws-k8s-cni.yaml) valore predefinito per `WARM_PREFIX_TARGET` è 1. Nella maggior parte dei casi, il valore consigliato di 1 per `WARM_PREFIX_TARGET` fornirà una buona combinazione di tempi di avvio rapidi del pod riducendo al minimo gli indirizzi IP inutilizzati assegnati all'istanza.

Se hai bisogno di conservare ulteriormente gli indirizzi IPv4 per nodo, usa `WARM_IP_TARGET` e `MINIMUM_IP_TARGET` impostazioni, che sostituiscono `WARM_PREFIX_TARGET` quando configurato. Impostando `WARM_IP_TARGET` a un valore inferiore a 16, è possibile impedire al CNI di mantenere allegato un intero prefisso in eccesso.

### Preferisci assegnare nuovi prefissi piuttosto che allegare un nuovo ENI
<a name="_prefer_allocating_new_prefixes_over_attaching_a_new_eni"></a>

L'assegnazione di un prefisso aggiuntivo a un ENI esistente è un'operazione API EC2 più rapida rispetto alla creazione e al collegamento di un nuovo ENI all'istanza. L'uso dei prefissi migliora le prestazioni pur essendo parsimonioso con l'allocazione degli indirizzi IPv4. L'aggiunta di un prefisso in genere viene completata in meno di un secondo, mentre l'associazione di un nuovo ENI può richiedere fino a 10 secondi. Nella maggior parte dei casi d'uso, il CNI avrà bisogno di un solo ENI per nodo di lavoro quando viene eseguito in modalità prefisso. Se puoi permetterti (nel peggiore dei casi) fino a 15 IP inutilizzati per nodo, ti consigliamo vivamente di utilizzare la nuova modalità di rete con assegnazione dei prefissi e di sfruttare i vantaggi in termini di prestazioni ed efficienza che ne derivano.

### Usa le prenotazioni di sottorete per evitare la frammentazione della sottorete (IPv4)
<a name="_use_subnet_reservations_to_avoid_subnet_fragmentation_ipv4"></a>

Quando EC2 assegna un prefisso IPv4 /28 a un ENI, deve trattarsi di un blocco contiguo di indirizzi IP della sottorete. Se la sottorete da cui viene generato il prefisso è frammentata (una sottorete molto utilizzata con indirizzi IP secondari sparsi), l'allegato del prefisso potrebbe fallire e nei log CNI di VPC verrà visualizzato il seguente messaggio di errore:

```
failed to allocate a private IP/Prefix address: InsufficientCidrBlocks: There are not enough free cidr blocks in the specified subnet to satisfy the request.
```

Per evitare la frammentazione e disporre di spazio contiguo sufficiente per la creazione dei prefissi, puoi usare [Prenotazioni CIDR della sottorete VPC](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-cidr-reservation.html#work-with-subnet-cidr-reservations) per riservare lo spazio IP all'interno di una sottorete per l'uso esclusivo tramite prefissi. Una volta creata una prenotazione, il plug-in VPC CNI chiamerà le API EC2 per assegnare i prefissi che vengono assegnati automaticamente dallo spazio riservato.

Si consiglia di creare una nuova sottorete, riservare spazio per i prefissi e abilitare l'assegnazione dei prefissi con VPC CNI per i nodi di lavoro in esecuzione in quella sottorete. Se la nuova sottorete è dedicata solo ai Pod in esecuzione nel tuo cluster EKS con l'assegnazione del prefisso CNI VPC abilitata, puoi saltare la fase di prenotazione del prefisso.

### Evita il downgrade di VPC CNI
<a name="_avoid_downgrading_vpc_cni"></a>

La modalità Prefix funziona con VPC CNI versione 1.9.0 e successive. Il downgrade del componente aggiuntivo Amazon VPC CNI a una versione precedente alla 1.9.0 deve essere evitato una volta abilitata la modalità prefisso e i prefissi sono assegnati agli ENI. È necessario eliminare e ricreare i nodi se si decide di effettuare il downgrade di VPC CNI.

### Sostituisci tutti i nodi durante la transizione a Prefix Delegation
<a name="_replace_all_nodes_during_the_transition_to_prefix_delegation"></a>

Si consiglia vivamente di creare nuovi gruppi di nodi per aumentare il numero di indirizzi IP disponibili anziché eseguire la sostituzione progressiva dei nodi di lavoro esistenti. Cordona e svuota tutti i nodi esistenti per sfrattare in sicurezza tutti i Pod esistenti. Per evitare interruzioni del servizio, suggeriamo di implementare [Budget Pod Disruption](https://kubernetes.io/docs/tasks/run-application/configure-pdb) sui tuoi cluster di produzione per carichi di lavoro critici. Ai pod sui nuovi nodi verrà assegnato un IP a partire da un prefisso assegnato a un ENI. Dopo aver confermato che i pod sono in funzione, puoi eliminare i vecchi nodi e gruppi di nodi. Se utilizzi gruppi di nodi gestiti, segui i passaggi indicati qui per garantire la sicurezza [elimina un gruppo di nodi](https://docs.aws.amazon.com/eks/latest/userguide/delete-managed-node-group.html).