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 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à.
Collegamento di interfacce di rete multiple ai pod
Per impostazione predefinita, il plugin CNI di Amazon VPC assegna un indirizzo IP a ciascun pod. Questo indirizzo IP è collegato a un’interfaccia di rete elastica che gestisce tutto il traffico in entrata e in uscita per il pod. Per aumentare le prestazioni della larghezza di banda e della velocità di pacchetti al secondo, è possibile utilizzare la funzionalità Multi-NIC di CNI di VPC per configurare un pod multi-homed. Un pod multi-homed è un singolo pod Kubernetes che utilizza più interfacce di rete (e più indirizzi IP). Eseguendo un pod multi-homed, è possibile distribuire il traffico delle applicazioni su più interfacce di rete utilizzando connessioni simultanee. Ciò è particolarmente utile per i casi d’uso di intelligenza artificiale (IA), machine learning (ML) e calcolo ad alte prestazioni (HPC).
Il diagramma seguente mostra un pod multi-homed in esecuzione su un nodo di lavoro con più schede di interfaccia di rete () in uso. NICs
Contesto
Su Amazon EC2, un'interfaccia di rete elastica è un componente di rete logico in un VPC che rappresenta una scheda di rete virtuale. Per molti tipi di EC2 istanze, le interfacce di rete condividono una singola scheda di interfaccia di rete (NIC) nell'hardware. Questa singola NIC ha una larghezza di banda e una velocità massime di pacchetti al secondo.
Se la funzionalità Multi-NIC è abilitata, CNI di VPC non assegna gli indirizzi IP in blocco, come avviene per impostazione predefinita. Invece, CNI di VPC assegna un indirizzo IP a un’interfaccia di rete su ciascuna scheda di rete su richiesta all’avvio di un nuovo pod. Tale comportamento riduce la velocità di esaurimento degli indirizzi IP, che è aumentata usando pod multi-homed. Poiché la CNI di VPC assegna l’indirizzo IP su richiesta, l’avvio dei pod potrebbe richiedere più tempo sulle istanze con la funzionalità multi-NIC abilitata.
Considerazioni
-
Assicurati che sul tuo cluster Kubernetes sia in esecuzione la versione
1.20.0CNI di VPC e successive. La funzionalità multi-NIC è disponibile solo nella versione1.20.0o successiva di CNI di VPC. -
Abilita la variabile di ambiente
ENABLE_MULTI_NICnel plugin CNI di VPC. È possibile eseguire il comando seguente per impostare la variabile e avviare una distribuzione di DaemonSet.-
kubectl set env daemonset aws-node -n kube-system ENABLE_MULTI_NIC=true
-
-
Assicuratevi di creare nodi di lavoro con più schede di interfaccia di rete (NICs). Per un elenco di EC2 istanze con più schede di interfaccia di rete, consulta Schede di rete nella Amazon EC2 User Guide.
-
Se la funzionalità Multi-NIC è abilitata, CNI di VPC non assegna gli indirizzi IP in blocco, come avviene per impostazione predefinita. Poiché la CNI di VPC assegna l’indirizzo IP su richiesta, l’avvio dei pod potrebbe richiedere più tempo sulle istanze con la funzionalità multi-NIC abilitata. Per ulteriori informazioni, consulta la sezione Contesto precedente.
-
Con la funzionalità multi-NIC abilitata, per impostazione predefinita i pod non dispongono di più interfacce di rete. È necessario configurare ciascun carico di lavoro per utilizzare multi-NIC. Aggiungi l’annotazione
k8s.amazonaws.com/nicConfig: multi-nic-attachmentai carichi di lavoro che dovrebbero avere più interfacce di rete.
Considerazioni su IPv6
-
Policy IAM personalizzata: per i cluster
IPv6, crea e utilizza la seguente policy IAM personalizzata per CNI di VPC. Questa policy è specifica per multi-NIC. Per informazioni più generali sull’utilizzo di CNI di VPC con i clusterIPv6, consulta Scopri IPv6 gli indirizzi di cluster, pod e servizi.{ "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonEKSCNIPolicyIPv6MultiNIC", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeInstances", "ec2:AssignIpv6Addresses", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeTags", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface", "ec2:DescribeInstanceTypes", "ec2:UnassignIpv6Addresses", "ec2:AttachNetworkInterface", "ec2:DescribeSubnets" ], "Resource": "*" }, { "Sid": "AmazonEKSCNIPolicyENITagIPv6MultiNIC", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-interface/*" } ] } -
IPv6Meccanismo di transizione non disponibile: se si utilizza la funzionalità multi-NIC, CNI di VPC non assegna un indirizzoIPv4ai pod di un clusterIPv6. Altrimenti, CNI di VPC assegna un indirizzoIPv4host locale a ciascun pod in modo che un pod possa comunicare con risorse esterneIPv4in un altro Amazon VPC o su Internet.
Utilizzo
Dopo aver abilitato la funzionalità multi-NIC nel CNI di VPC e riavviato i pod aws-node, è possibile configurare ciascun carico di lavoro in modo che sia multi-homed. Il seguente esempio di una configurazione YAML con l’annotazione richiesta:
apiVersion: apps/v1 kind: Deployment metadata: name: orders-deployment namespace: ecommerce labels: app: orders spec: replicas: 3 selector: matchLabels: app: orders template: metadata: annotations: k8s.amazonaws.com/nicConfig: multi-nic-attachment labels: app: orders spec: ...
Domande frequenti
1. Cos’è una scheda di interfaccia di rete (NIC)?
Una scheda di interfaccia di rete (NIC), chiamata anche semplicemente scheda di rete, è un dispositivo fisico che consente la connettività di rete per l’hardware di cloud computing sottostante. Nei EC2 server moderni, questo si riferisce alla scheda di rete Nitro. Un’interfaccia di rete elastica (ENI) è una rappresentazione virtuale di questa scheda di rete sottostante.
Alcuni tipi di EC2 istanza ne hanno più di uno NICs per aumentare le prestazioni in termini di larghezza di banda e velocità dei pacchetti. In questi casi, è possibile assegnare schede di rete secondarie ENIs alle schede di rete aggiuntive. Ad esempio, ENI #1 può funzionare come interfaccia per la NIC collegata all’indice 0 della scheda di rete, mentre ENI #2 può funzionare come interfaccia per la NIC collegata a un indice di schede di rete separato.
2. Cos’è un pod multi-homed?
Un pod multi-homed è un singolo pod Kubernetes con più interfacce di rete (e per implicazione più indirizzi IP). Ogni interfaccia di rete pod è associata a un'interfaccia di rete elastica (ENI) e si ENIs tratta di rappresentazioni logiche di separate NICs sul nodo di lavoro sottostante. Con più interfacce di rete, un pod multi-homed ha una capacità di trasferimento dati aggiuntiva, che aumenta anche la velocità di trasferimento dei dati.
Importante
Il VPC CNI può configurare pod multihomed solo su tipi di istanze che ne hanno più di uno. NICs
3. Qual è il vantaggio di utilizzare questa funzionalità?
Se è necessario scalare le prestazioni di rete nei carichi di lavoro basati su Kubernetes, è possibile utilizzare la funzionalità Multi-NIC per eseguire pod multihomed che si interfacciano con tutti i dispositivi sottostanti NICs a cui è collegato un dispositivo ENA. L’utilizzo di schede di rete aggiuntive aumenta la capacità di larghezza di banda e le prestazioni di velocità di pacchetti nelle applicazioni distribuendo il traffico delle applicazioni su più connessioni simultanee. Ciò è particolarmente utile per i casi d’uso di intelligenza artificiale (IA), machine learning (ML) e calcolo ad alte prestazioni (HPC).
4. Come posso utilizzare questa funzionalità?
-
Innanzitutto, è necessario assicurarsi che il proprio cluster Kubernetes utilizzi versione 1.20 o successiva di CNI di VPC. Per i passaggi per aggiornare CNI di VPC come componente aggiuntivo EKS, consulta Aggiornamento di CNI di Amazon VPC (componente aggiuntivo Amazon EKS).
-
Quindi, è necessario abilitare il supporto multi-NIC nel CNI di VPC usando la variabile di ambiente
ENABLE_MULTI_NIC. -
Quindi, è necessario assicurarsi di creare e unire nodi con più schede di rete. Per un elenco di tipi di EC2 istanze con più schede di rete, consulta Schede di rete nella Amazon EC2 User Guide.
-
Infine, configura ciascun carico di lavoro per utilizzare più interfacce di rete (pod multi-homed) o utilizza un’unica interfaccia di rete.
5. Come posso configurare i miei carichi di lavoro per utilizzarne più di uno NICs su un nodo di lavoro supportato?
Per utilizzare i pod multi-homed, è necessario aggiungere la seguente annotazione: k8s.amazonaws.com/nicConfig: multi-nic-attachment. Ciò collegherà un ENI da ogni NIC dell'istanza sottostante al pod (mappatura uno a più tra un pod e il NICs).
Se manca questa annotazione, CNI di VPC presuppone che il pod richieda solo 1 interfaccia di rete e gli assegna un IP da un’ENI su qualsiasi NIC disponibile.
6. Quali adattatori di interfaccia di rete sono supportati da questa funzionalità?
È possibile utilizzare qualsiasi adattatore di interfaccia di rete se si dispone di almeno un ENA collegato alla scheda di rete sottostante per il traffico IP. Per ulteriori informazioni su ENA, consulta Elastic Network Adapter (ENA) nella Amazon EC2 User Guide.
Configurazioni dei dispositivi di rete supportate:
-
Le interfacce ENA offrono tutte le tradizionali funzionalità di rete e routing IP necessarie per supportare la rete IP per un VPC. Per ulteriori informazioni, consulta Abilita reti avanzate con ENA sulle tue EC2 istanze.
-
Le interfacce EFA (EFA con ENA) offrono sia il dispositivo ENA per le reti IP che il dispositivo EFA per le comunicazioni a bassa latenza e a throughput elevato.
Importante
Se a una scheda di rete è collegato un adattatore solo EFA, il CNI di VPC lo ignorerà durante il provisioning della connettività di rete per un pod multi-homed. Tuttavia, se si combina un adattatore solo EFA con un adattatore ENA su una scheda di rete, il VPC CNI ENIs gestirà anche questo dispositivo. Per utilizzare interfacce solo EFA con i cluster EKS, consulta Esecuzione dei corsi di machine learning su Amazon EKS con Elastic Fabric Adapter.
7. Posso vedere se un nodo del mio cluster supporta ENA?
Sì, puoi utilizzare la AWS CLI o l' EC2 API per recuperare informazioni di rete su un' EC2 istanza nel tuo cluster. Ciò fornisce dettagli sul fatto che l’istanza disponga o meno del supporto ENA. Nell'esempio seguente, sostituiscilo <your-instance-id> con l'ID di EC2 istanza di un nodo.
AWS Esempio di CLI:
aws ec2 describe-instances --instance-ids <your-instance-id> --query "Reservations[].Instances[].EnaSupport"
Output di esempio:
[ true ]
8. Posso vedere i diversi indirizzi IP associati a un pod?
No, non è semplice. Tuttavia, è possibile utilizzare nsenter dal nodo per eseguire strumenti di rete comuni come ip route show e visualizzare gli indirizzi IP e le interfacce aggiuntivi.
9. Posso controllare il numero di interfacce di rete per i miei pod?
No. Quando il carico di lavoro è configurato per utilizzarne più di uno NICs su un'istanza supportata, un singolo pod ha automaticamente un indirizzo IP da ogni scheda di rete dell'istanza. In alternativa, i pod single-homed avranno un’interfaccia di rete collegata a una NIC sull’istanza.
Importante
Le schede di rete a cui è collegato solo un dispositivo solo EFA sono ignorate da CNI di VPC.
10. Posso configurare i miei pod per utilizzare una scheda NIC specifica?
No, questa funzionalità non è supportata. Se un pod ha l’annotazione pertinente, CNI di VPC lo configura automaticamente per utilizzare ogni NIC con un adattatore ENA sul nodo worker.
11. Questa funzionalità funziona con le altre funzionalità di rete di CNI di VPC?
Sì, la funzionalità multi-NIC di CNI di VPC funziona sia con reti personalizzate che con la rilevazione avanzata delle sottoreti. Tuttavia, i pod multi-homed non utilizzano sottoreti o gruppi di sicurezza personalizzati. Invece, CNI di VPC assegna indirizzi IP e interfacce di rete ai pod multi-homed con la stessa configurazione di sottorete e gruppo di sicurezza del nodo. Per ulteriori informazioni sulle reti personalizzate, consulta Implementazione dei pod in sottoreti alternative con reti personalizzate.
La funzionalità multi-NIC di CNI di VPC non funziona e non può essere combinata con i gruppi di sicurezza per i pod.
12. Posso utilizzare le politiche di rete con questa funzionalità?
Sì, è possibile utilizzare le policy di rete Kubernetes con multi-NIC. Le policy di rete Kubernetes limitano il traffico di rete verso e dai pod. Per ulteriori informazioni sull’applicazione delle policy di rete con CNI di VPC, consulta Limita il traffico di Pod con le policy di rete di Kubernetes.
13. Il supporto multi-NIC è abilitato in modalità automatica EKS?
La multi-NIC non è supportata per i cluster in modalità automatica EKS.