Activer l'accès Internet sortant pour pods - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tous.

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 pods

S'applique à : Linux IPv4Nœuds Fargate, Linux nœuds avec des EC2 instances Amazon

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 Attribuer IPv6 des adresses aux clusters, pods, et services.

Par défaut, chaque Pod dans votre cluster se voit attribuer une IPv4 adresse privée provenant d'un bloc de routage interdomaines (CIDR) sans classe associé au VPC Pod est déployé dans. Pods dans le même temps, VPC communiquez les uns avec les autres en utilisant ces adresses IP privées comme points de terminaison. Quand un Pod communique à n'importe quelle IPv4 adresse qui ne se trouve pas dans un CIDR bloc associé à votreVPC, le VPC CNI plugin Amazon (pour les deux Linux ou Windows) traduit le Pod's IPv4adresse à l'IPv4adresse privée principale de l'interface elastic network principale du nœud que le Pod est en cours d'exécution, par défaut*.

Note

Dans Windows nœuds, il y a des détails supplémentaires à prendre en compte. Par défaut, le VPC CNI plugin pour Windowsest défini avec une configuration réseau dans laquelle le trafic vers une destination au sein de celle-ci VPC est excluSNAT. Cela signifie que VPC la communication interne est SNAT désactivée et que l'adresse IP est attribuée à un Pod est routable à l'intérieur du. VPC Mais le trafic vers une destination en dehors de la VPC a sa source Pod IP SNAT liée à l'adresse IP principale ENI de l'instance. Cette configuration par défaut pour Windows garantit que le pod peut accéder à des réseaux extérieurs VPC au vôtre de la même manière que l'instance hôte.

Compte tenu de ce comportement :

  • Votre Pods ne peuvent communiquer avec les ressources Internet que si le nœud sur lequel elles s'exécutent possède une adresse IP publique ou élastique 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 du plugin antérieures à1.8.0, les ressources qui se trouvent sur des réseaux ou VPCs qui sont connectées à votre cluster par le VPC biais d'un VPCpeering, d'un transit VPC ou qui ne AWS Direct Connectpeuvent pas établir de communication avec votre Pods derrière des interfaces réseau élastiques secondaires. Votre Pods peut cependant initier la 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 avez des ressources dans des réseaux ou VPCs vous êtes connectées à votre cluster par le VPC biais d'un VPCpeering, d'un transit VPC, ou AWS Direct Connectvous devez établir une communication avec votre Pods en utilisant une IPv4 adresse et la version de votre plugin est antérieure à1.8.0.

  • Votre Pods se trouvent dans un sous-réseau privé et ont besoin de communiquer avec des données sortantes vers Internet. Le sous-réseau possède une route vers une NATpasserelle.

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

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

Réseau hôte

* Si un Pod's spec contient hostNetwork=true (la valeur par défaut estfalse), alors son adresse IP n'est pas traduite en une adresse différente. C'est le cas pour le kube-proxy et Amazon VPC CNI plugin for Kubernetes Pods qui s'exécutent sur votre cluster, par défaut. Pour ceux-ci Pods, l'adresse IP est identique à l'adresse IP principale du nœud, donc Pod's L'adresse IP n'est pas traduite. Pour plus d'informations sur un Pod's hostNetworkréglage, voir le noyau PodSpec v1 dans le Kubernetes APIréférence.