Activer l’accès Internet sortant pour les Pods - Amazon EKS

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.

Activer l’accès Internet sortant pour les Pods

S’applique à : nœuds Linux IPv4 Fargate, nœuds Linux avec instances Amazon EC2

Si vous avez déployé votre cluster à l’aide de la famille IPv6, les informations de cette rubrique ne s’appliquent pas à votre cluster, car les adresses IPv6 ne sont pas traduites en réseau. Pour plus d'informations sur l'utilisation des adresses IPv6 avec votre cluster, veuillez consulter En savoir plus sur IPv6 les adresses des clusters, des pods et des services.

Par défaut, chaque pod de votre cluster se voit attribuer une adresse IPv4 privée provenant d’un bloc CIDR (Classless Inter-Domain Routing) associé au VPC dans lequel le pod est déployé. Les pods du même VPC communiquent ensemble via l’adresse IP privée. Lorsqu’un pod communique avec une adresse IPv4 qui ne se trouve pas dans un bloc CIDR associé à votre VPC, le plug-in Amazon VPC CNI (pour Linux ou Windows) traduit l’adresse IPv4 du pod en adresse IPv4 privée principale de l’interface réseau Elastic principale du nœud sur lequel le pod est exécuté, par défaut *.

Note

Pour les nœuds Windows, il y a des détails supplémentaires à prendre en compte. Par défaut, le plug-in CNI VPC pour Windows est défini avec une configuration réseau dans laquelle le trafic vers une destination au sein du même VPC est exclu pour la SNAT. Cela signifie que la SNAT est désactivée pour la communication interne du VPC et que l’adresse IP attribuée à un pod est acheminable au sein du VPC. Mais le trafic vers une destination en dehors du VPC a l’adresse IP source du pod SNAT vers l’adresse IP principale de l’ENI de l’instance. Cette configuration par défaut pour Windows garantit que le pod peut accéder à des réseaux extérieurs à votre VPC de la même manière que l’instance hôte.

Compte tenu de ce comportement :

  • Vos pods ne peuvent communiquer avec des ressources Internet que si le nœud sur lequel ils s’exécutent dispose d’une adresse IP publique ou Elastic qui lui est attribuée et se trouve dans un sous-réseau public. Une table de routage associée d’un sous-réseau public comporte une route vers une passerelle Internet. Nous recommandons de déployer les nœuds dans des sous-réseaux privés, dans la mesure du possible.

  • Pour les versions antérieures à 1.8.0 du plug-in, les ressources qui se trouvent dans des réseaux ou des VPC connectés au VPC de votre cluster à l’aide du peering VPC, d’un VPC de transit ou de AWS Direct Connect ne peuvent pas initier de communication avec vos pods derrière des interfaces réseau Elastic secondaires. Cependant, vos pods peuvent initier une communication avec ces ressources et recevoir des réponses de leur part.

Si l'une des affirmations suivantes est vraie dans votre environnement, modifiez la configuration par défaut à l'aide de la commande suivante.

  • Vous disposez de ressources dans des réseaux ou des VPC connectés au VPC de votre cluster à l’aide d’un peering VPC, d’un VPC de transit ou de AWS Direct Connect qui doivent initier la communication avec vos pods à l’aide d’une adresse IPv4, et la version de votre plug-in est antérieure à 1.8.0.

  • Vos pods se trouvent dans un sous-réseau privé et doivent communiquer en sortie vers Internet. Le sous-réseau dispose d'une route vers une passerelle NAT.

kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true
Note

Les variables de configuration AWS_VPC_K8S_CNI_EXTERNALSNAT et AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS CNI ne s’appliquent pas aux nœuds Windows. La désactivation de la SNAT n’est pas prise en charge pour Windows. Pour exclure une liste de IPv4 CIDR du SNAT, vous pouvez définir cela en spécifiant le paramètre ExcludedSnatCIDRs dans le script de démarrage Windows. Pour plus d'informations sur ce paramètre, veuillez consulter la rubrique Paramètres de configuration du script d'amorçage.

Mise en réseau de l’hôte

* Si les spécifications d’un pod contiennent hostNetwork=true (la valeur par défaut est false), son adresse IP n’est pas traduite en une autre adresse. C’est le cas, par défaut, du plug-in kube-proxy et Amazon VPC CNI pour les pods Kubernetes qui s’exécutent sur votre cluster. Pour ces pods, l’adresse IP est la même que l’adresse IP principale du nœud, donc l’adresse IP du pod n’est pas traduite. Pour plus d’informations sur la configuration hostNetwork d’un pod, consultez PodSpec v1 core dans la référence API Kubernetes.