

 **Aidez à améliorer cette page** 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien **Modifier cette page sur** qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connecter plusieurs interfaces réseau à des pods
<a name="pod-multiple-network-interfaces"></a>

Par défaut, le plug-in CNI Amazon VPC attribue une adresse IP à chaque pod. Cette adresse IP est associée à une *interface réseau Elastic* qui gère tout le trafic entrant et sortant du pod. Pour augmenter la bande passante et les performances du débit de paquets par seconde, vous pouvez utiliser la *Multi-NIC fonctionnalité* du VPC CNI pour configurer un pod multi-hébergement. Un pod multi-homed est un pod Kubernetes unique qui utilise plusieurs interfaces réseau (et plusieurs adresses IP). En exécutant un pod multi-homed, vous pouvez répartir le trafic de son application sur plusieurs interfaces réseau à l’aide de connexions simultanées. Cela est particulièrement utile pour les cas d’utilisation de l’intelligence artificielle (IA), de machine learning (ML) et du calcul haute performance (HPC).

Le diagramme suivant montre un pod multi-homed s’exécutant sur un composant master avec plusieurs cartes d’interface réseau (NIC) utilisées.

![Un pod multi-homed avec deux interfaces réseau connectées : une interface réseau avec ENA et une interface réseau avec ENA et EFA](http://docs.aws.amazon.com/fr_fr/eks/latest/userguide/images/multi-homed-pod.png)


## Contexte
<a name="pod-multi-nic-background"></a>

Sur Amazon EC2, une *interface réseau Elastic* est un composant réseau logique dans un VPC qui représente une carte réseau virtuelle. Pour de nombreux types d’instances EC2, les interfaces réseau partagent une seule carte d’interface réseau (NIC) dans le matériel. Cette carte réseau unique dispose d’une bande passante maximale et d’un débit maximal de paquets par seconde.

Si la fonctionnalité multi-NIC est activée, le CNI VPC n’attribue pas d’adresses IP en masse, comme il le fait par défaut. Au lieu de cela, le CNI VPC attribue une adresse IP à une interface réseau sur chaque carte réseau à la demande lorsqu’un nouveau pod démarre. Ce comportement réduit le taux d’épuisement des adresses IP, qui est augmenté par l’utilisation de pods multi-homed. Étant donné que le CNI VPC attribue des adresses IP à la demande, le démarrage des pods peut prendre plus de temps sur les instances où la fonctionnalité multi-NIC est activée.

## Considérations
<a name="pod-multi-nic-considerations"></a>
+ Veuillez vous assurer que votre cluster Kubernetes exécute la version `1.20.0` ou ultérieure du CNI VPC. La fonctionnalité multi-NIC n’est disponible que dans la version `1.20.0` ou ultérieure du CNI VPC.
+ Activez la variable d’environnement `ENABLE_MULTI_NIC` dans le plug-in CNI Amazon VPC. Vous pouvez exécuter la commande suivante pour définir la variable et démarrer le déploiement du DaemonSet.
  +  `kubectl set env daemonset aws-node -n kube-system ENABLE_MULTI_NIC=true` 
+ Assurez-vous de créer des composants master disposant de plusieurs cartes d’interface réseau (NIC). Pour obtenir la liste des instances EC2 disposant de plusieurs cartes d’interface réseau, consultez [Cartes réseau](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards) dans le **Guide de l’utilisateur Amazon EC2**.
+ Si la fonctionnalité multi-NIC est activée, le CNI VPC n’attribue pas d’adresses IP en masse, comme il le fait par défaut. Étant donné que le CNI VPC attribue des adresses IP à la demande, le démarrage des pods peut prendre plus de temps sur les instances où la fonctionnalité multi-NIC est activée. Pour de plus amples informations, veuillez consulter la section précédente [Contexte](#pod-multi-nic-background).
+ Lorsque la fonctionnalité multi-NIC est activée, les pods ne disposent pas de plusieurs interfaces réseau par défaut. Vous devez configurer chaque charge de travail pour utiliser la fonctionnalité multi-NIC. Ajoutez l’annotation `k8s.amazonaws.com/nicConfig: multi-nic-attachment` aux charges de travail qui doivent disposer de plusieurs interfaces réseau.

### Considérations relatives à `IPv6`
<a name="pod-multi-nic-considerations-ipv6"></a>
+  **Politique IAM personnalisée** : pour les clusters `IPv6`, créez et utilisez la politique IAM personnalisée suivante pour le CNI VPC. Cette politique est spécifique à la fonctionnalité multi-NIC. Pour plus d’informations générales sur l’utilisation du CNI VPC avec les clusters `IPv6`, consultez [Informations sur les adresses IPv6 pour les clusters, pods et services](cni-ipv6.md).

  ```
  {
      "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/*"
          }
      ]
  }
  ```
+  **Mécanisme de transition `IPv6` non disponible** : si vous utilisez la fonctionnalité multi-NIC, le CNI VPC n’attribue pas d’adresse `IPv4` aux pods d’un cluster `IPv6`. Sinon, le CNI Amazon VPC attribue une adresse `IPv4` locale à chaque pod afin que celui-ci puisse communiquer avec des ressources `IPv4` externes dans un autre Amazon VPC ou sur Internet.

## Usage
<a name="pod-multi-NIC-usage"></a>

Une fois la fonctionnalité multi-NIC activée dans le CNI Amazon VPC et les pods `aws-node` redémarrés, vous pouvez configurer chaque charge de travail pour qu’elle soit multi-homed. Voici un exemple de configuration YAML avec les annotations requises :

```
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:
...
```

## Questions fréquentes (FAQ)
<a name="pod-muti-nic-faqs"></a>

### **1. Qu’est-ce qu’une carte d’interface réseau (NIC) ?**
<a name="pod-muti-nic-faqs-nic"></a>

Une carte d’interface réseau (NIC), également appelée simplement carte réseau, est un périphérique physique qui permet la connectivité réseau pour le matériel informatique cloud sous-jacent. Dans les serveurs EC2 modernes, il s’agit de la carte réseau Nitro. Une interface réseau Elastic (ENI) est une représentation virtuelle de cette carte réseau sous-jacente.

Certains types d’instances EC2 disposent de plusieurs cartes NIC pour une bande passante et un débit de paquets plus élevés. Pour ces instances, vous pouvez attribuer des ENI secondaires aux cartes réseau supplémentaires. Par exemple, l’ENI n° 1 peut fonctionner comme interface pour la carte NIC connectée à l’index de carte réseau 0, tandis que l’ENI n° 2 peut fonctionner comme interface pour la carte NIC connectée à un index de carte réseau distinct.

### **2. Qu’est-ce qu’un pod multi-homed ?**
<a name="pod-muti-nic-faqs-pod"></a>

Un pod multi-homed est un pod Kubernetes unique doté de plusieurs interfaces réseau (et donc de plusieurs adresses IP). Chaque interface réseau du pod est associée à une [interface réseau Elastic (ENI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html), et ces ENI sont des représentations logiques de cartes réseau distinctes sur le composant master sous-jacent. Grâce à ses multiples interfaces réseau, un pod multi-homed dispose d’une capacité de transfert de données supplémentaire, ce qui augmente également son débit de transfert de données.

**Important**  
Le CNI VPC ne peut configurer des pods multi-homed que sur des types d’instances disposant de plusieurs cartes réseau.

### **3. Pourquoi utiliser cette fonctionnalité ?**
<a name="pod-muti-nic-faqs-why"></a>

Si vous devez adapter les performances du réseau à vos Kubernetes-based charges de travail, vous pouvez utiliser la fonctionnalité multi-cartes réseau pour exécuter des pods multi-hôtes qui s'interfacent avec toutes les cartes réseau sous-jacentes auxquelles un périphérique ENA est connecté. L’utilisation de cartes réseau supplémentaires augmente la capacité de bande passante et les performances en termes de débit de paquets dans vos applications en répartissant le trafic des applications sur plusieurs connexions simultanées. Cela est particulièrement utile pour les cas d’utilisation de l’intelligence artificielle (IA), de machine learning (ML) et du calcul haute performance (HPC).

### **4. Comment utiliser cette fonctionnalité ?**
<a name="pod-muti-nic-faqs-how-to-enable"></a>

1. Tout d’abord, vous devez vous assurer que votre cluster Kubernetes utilise la version 1.20 ou ultérieure de CNI VPC. Pour connaître les étapes de mise à jour de CNI VPC en tant que module complémentaire EKS, consultez [Mettre à jour le CNI Amazon VPC (module complémentaire Amazon EKS)](vpc-add-on-update.md).

1. Ensuite, vous devez activer la prise en charge multi-NIC dans le CNI Amazon VPC à l’aide de la variable d’environnement `ENABLE_MULTI_NIC`.

1. Enfin, vous devez vous assurer de créer et de rejoindre des nœuds disposant de plusieurs cartes réseau. Pour obtenir la liste des types d’instances EC2 disposant de plusieurs cartes réseau, consultez [Cartes réseau](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards) dans le *Guide de l’utilisateur Amazon EC2*.

1. Enfin, vous devez configurer chaque charge de travail pour qu’elle utilise soit plusieurs interfaces réseau (pods multi-homed), soit une seule interface réseau.

### **5. Comment puis-je configurer mes charges de travail pour qu’elles utilisent plusieurs cartes réseau sur un composant master pris en charge ?**
<a name="pod-muti-nic-faqs-how-to-workloads"></a>

Pour utiliser des pods multi-homed, vous devez ajouter l’annotation suivante : `k8s.amazonaws.com/nicConfig: multi-nic-attachment`. Cela permettra de connecter une ENI de chaque carte réseau de l’instance sous-jacente au pod (mappage un-à-plusieurs entre un pod et les cartes réseau).

Si cette annotation est manquante, le CNI VPC suppose que votre pod ne nécessite qu’une seule interface réseau et lui attribue une adresse IP provenant d’une ENI sur n’importe quelle carte réseau disponible.

### **6. Quels adaptateurs d’interface réseau sont pris en charge avec cette fonctionnalité ?**
<a name="pod-muti-nic-faqs-adapters"></a>

Vous pouvez utiliser n’importe quel adaptateur d’interface réseau si vous disposez d’au moins un ENA connecté à la carte réseau sous-jacente pour le trafic IP. Pour plus d’informations sur ENA, consultez [Adaptateur réseau élastique (ENA)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) dans le *Guide de l’utilisateur Amazon EC2*.

Configurations de périphériques réseau prises en charge :
+  les interfaces **ENA** fournissent toutes les fonctionnalités de réseau et de routage IP traditionnelles requises pour prendre en charge le réseau IP d’un VPC. Pour plus d’informations, consultez [Activer la mise en réseau améliorée avec ENA sur vos instances EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html).
+  Les interfaces **EFA** **(EFA** **avec ENA)** fournissent à la fois le périphérique ENA pour la mise en réseau IP et le périphérique EFA pour une communication à faible latence et haut débit.

**Important**  
Si seul un **EFA-only**adaptateur est connecté à une carte réseau, le VPC CNI l'ignorera lors de la mise en service de la connectivité réseau pour un pod multihôte. Toutefois, si vous combinez un **EFA-only**adaptateur avec un adaptateur **ENA** sur une carte réseau, le VPC CNI gérera également les ENI sur cet appareil. Pour utiliser EFA-only des interfaces avec des clusters EKS, voir[Exécuter un entraînement de machine learning sur Amazon EKS avec Elastic Fabric Adapter](node-efa.md).

### **7. Puis-je voir si un nœud de mon cluster prend en charge ENA ?**
<a name="pod-muti-nic-faqs-node-ena"></a>

Oui, vous pouvez utiliser la AWS CLI ou l'API EC2 pour récupérer des informations réseau concernant une instance EC2 de votre cluster. Cela vous permettra de savoir si l’instance prend en charge ENA. Dans l’exemple suivant, remplacez `<your-instance-id>` par l’ID d’instance EC2 d’un nœud.

 AWS Exemple de CLI :

```
aws ec2 describe-instances --instance-ids <your-instance-id> --query "Reservations[].Instances[].EnaSupport"
```

Exemple de sortie :

```
[ true ]
```

### **8. Puis-je voir les différentes adresses IP associées à un pod ?**
<a name="pod-muti-nic-faqs-list-ips"></a>

Non, pas facilement. Cependant, vous pouvez utiliser `nsenter` à partir du nœud pour exécuter des outils réseau courants tels que `ip route show` et voir les adresses IP et les interfaces supplémentaires.

### **9. Puis-je contrôler le nombre d’interfaces réseau pour mes pods ?**
<a name="pod-muti-nic-faqs-number-of-enis"></a>

Non. Lorsque votre charge de travail est configurée pour utiliser plusieurs cartes réseau sur une instance prise en charge, un seul pod dispose automatiquement d’une adresse IP provenant de chaque carte réseau de l’instance. Sinon, les pods à connexion unique disposeront d’une interface réseau connectée à une carte réseau sur l’instance.

**Important**  
Les cartes réseau auxquelles *seul* un **EFA-only**périphérique est connecté sont ignorées par le VPC CNI.

### **10. Puis-je configurer mes pods pour qu’ils utilisent une carte réseau spécifique ?**
<a name="pod-muti-nic-faqs-specify-nic"></a>

Non, cela n’est pas pris en charge. Si un pod dispose de l’annotation appropriée, le CNI VPC le configure automatiquement pour utiliser toutes les cartes réseau avec un adaptateur ENA sur le composant master.

### **11. Cette fonctionnalité est-elle compatible avec les autres fonctionnalités réseau du CNI VPC ?**
<a name="pod-muti-nic-faqs-modes"></a>

Oui, la fonctionnalité multi-cartes réseau du CNI VPC est compatible avec le *réseau personnalisé* et la *détection améliorée des sous-réseaux*. Cependant, les pods multi-homed n’utilisent pas les sous-réseaux personnalisés ni les groupes de sécurité. Au lieu de cela, le CNI VPC attribue des adresses IP et des interfaces réseau aux pods multi-homed avec la même configuration de sous-réseau et de groupe de sécurité que le nœud. Pour plus d’informations sur la mise en réseau personnalisée, consultez [Déploiement de pods dans des sous-réseaux alternatifs avec réseau personnalisé](cni-custom-network.md).

La fonctionnalité multi-NIC du CNI VPC ne fonctionne pas avec les *groupes de sécurité pour les pods* et ne peut pas être combinée avec ceux-ci.

### **12. Puis-je utiliser des politiques réseau avec cette fonctionnalité ?**
<a name="pod-muti-nic-faqs-netpol"></a>

Oui, vous pouvez utiliser les politiques réseau Kubernetes avec plusieurs cartes réseau. Les politiques réseau Kubernetes limitent le trafic réseau vers et depuis vos pods. Pour plus d’informations sur l’application des politiques réseau avec le CNI VPC EKS, consultez [Limitation du trafic des pods à l’aide des politiques réseau Kubernetes](cni-network-policy.md).

### **13. La prise en charge de plusieurs cartes réseau est-elle activée dans le mode automatique EKS ?**
<a name="pod-muti-nic-faqs-auto-mode"></a>

Multi-NIC n'est pas pris en charge pour les clusters en mode automatique EKS.