Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Configurer le plug-in Amazon VPC CNI pour Kubernetes pour les groupes de sécurité pour Amazon EKS Pods

Mode de mise au point
Configurer le plug-in Amazon VPC CNI pour Kubernetes pour les groupes de sécurité pour Amazon EKS 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.

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.

Si vous utilisez des Pods avec des EC2 instances Amazon, vous devez configurer le plugin Amazon VPC CNI pour Kubernetes pour les groupes de sécurité

Si vous utilisez uniquement des Fargate Pods et que votre cluster ne contient aucun nœud EC2 Amazon, consultez. Utiliser une politique de groupe de sécurité pour un Amazon EKS Pod

  1. Vérifiez la version actuelle de votre plugin Amazon VPC CNI pour Kubernetes à l'aide de la commande suivante :

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    L'exemple qui suit illustre un résultat.

    v1.7.6

    Si la version de votre plugin Amazon VPC CNI pour Kubernetes est antérieure à1.7.7, mettez-le à jour vers la version ou ultérieure. 1.7.7 Pour plus d’informations, consultez Attribuer IPs à des pods avec l'Amazon VPC CNI.

  2. Ajoutez la politique IAM gérée par Amazon EKSVPCResource Controller au rôle de cluster associé à votre cluster Amazon EKS. La politique permet au rôle de gérer les interfaces réseau, leurs adresses IP privées, leur attachement et leur détachement vers et depuis les instances réseau.

    1. Récupérez le nom de votre rôle IAM de cluster et stockez-le dans une variable. Remplacez my-cluster par le nom de votre cluster.

      cluster_role=$(aws eks describe-cluster --name my-cluster --query cluster.roleArn --output text | cut -d / -f 2)
    2. Attachez la stratégie au rôle.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSVPCResourceController --role-name $cluster_role
  3. Activez le module complémentaire Amazon VPC CNI pour gérer les interfaces réseau pour les pods en définissant la ENABLE_POD_ENI variable sur dans le. true aws-node DaemonSet Une fois ce paramètre défini surtrue, le module complémentaire crée une ressource cninode personnalisée pour chaque nœud du cluster. Le contrôleur de ressources VPC crée et attache une interface réseau spéciale appelée interface réseau de tronc avec la description aws-k8s-trunk-eni.

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

    L'interface réseau de tronc est incluse dans le nombre maximal d'interfaces réseau prises en charge par le type d'instance. Pour obtenir la liste du nombre maximal d'interfaces réseau prises en charge par chaque type d'instance, consultez la section Adresses IP par interface réseau et par type d'instance dans le guide de EC2 l'utilisateur Amazon. Si votre nœud a déjà le nombre maximal d'interfaces réseau standard qui lui sont attachées, le contrôleur de ressources VPC réservera un espace. Vous devrez réduire suffisamment le nombre de vos pods en cours d'exécution pour que le contrôleur puisse détacher et supprimer une interface réseau standard, créer l'interface réseau principale et l'associer à l'instance.

  4. Vous pouvez voir quels nœuds ont une ressource personnalisée CNINode avec la commande suivante. Si le message No resources found est renvoyé, attendez plusieurs secondes et réessayez. L'étape précédente nécessite le redémarrage du plugin Amazon VPC CNI pour Kubernetes Pods, ce qui prend plusieurs secondes.

    kubectl get cninode -A NAME FEATURES ip-192-168-64-141.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}] ip-192-168-7-203.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}]

    Si vous utilisez des versions CNI VPC antérieures à 1.15, les étiquettes de nœud ont été utilisées à la place de la ressource personnalisée CNINode. Vous pouvez voir quels nœuds ont l'étiquette de nœud aws-k8s-trunk-eni définie sur la valeur à l'trueaide de la commande suivante. Si le message No resources found est renvoyé, attendez plusieurs secondes et réessayez. L'étape précédente nécessite le redémarrage du plugin Amazon VPC CNI pour Kubernetes Pods, ce qui prend plusieurs secondes.

    kubectl get nodes -o wide -l vpc.amazonaws.com/has-trunk-attached=true -

    Une fois l'interface réseau de liaison créée, des adresses IP secondaires sont attribuées aux pods à partir de l'interface réseau principale ou des interfaces réseau standard. L'interface de tronc est automatiquement supprimée si le nœud est supprimé.

    Lorsque vous déployez ultérieurement un groupe de sécurité pour un pod, le contrôleur de ressources VPC crée une interface réseau spéciale appelée interface réseau de branche avec une description aws-k8s-branch-eni et y associe les groupes de sécurité. Les interfaces réseau de branche sont créées en plus des interfaces réseau standard et de tronc attachées au nœud.

    Si vous utilisez des sondes Liveness ou Readiness, vous devez également désactiver le démultiplexage TCP anticipé, afin de kubelet pouvoir se connecter aux pods sur les interfaces réseau des succursales via TCP. Pour désactiver le démultiplexage anticipé du protocole TCP, exécutez la commande suivante :

    kubectl patch daemonset aws-node -n kube-system \ -p '{"spec": {"template": {"spec": {"initContainers": [{"env":[{"name":"DISABLE_TCP_EARLY_DEMUX","value":"true"}],"name":"aws-vpc-cni-init"}]}}}}'
    Note

    Si vous utilisez 1.11.0 ou une version ultérieure du plugin Amazon VPC CNI pour Kubernetes et que vous utilisez set POD_SECURITY_GROUP_ENFORCING_MODE =standard, comme décrit à l'étape suivante, vous n'avez pas besoin d'exécuter la commande précédente.

  5. Si votre cluster utilise NodeLocal DNSCache ou souhaitez utiliser la politique réseau Calico avec vos pods dotés de leurs propres groupes de sécurité, ou si vous avez des services Kubernetes de type NodePort cible avec un externalTrafficPolicy ensemble de pods auxquels vous souhaitez attribuer des groupes de sécurité, vous devez utiliser la version 1.11.0 ou une version ultérieure du module complémentaire Amazon VPC CNI pour Kubernetes, et vous devez activer le paramètre suivant : LoadBalancer Local

    kubectl set env daemonset aws-node -n kube-system POD_SECURITY_GROUP_ENFORCING_MODE=standard

    IMPORTANT : Les règles des groupes de sécurité des pods ne s'appliquent pas au trafic entre les pods ou entre les pods et les services, tels que kubelet ounodeLocalDNS, qui se trouvent sur le même nœud. Les pods utilisant différents groupes de sécurité sur le même nœud ne peuvent pas communiquer car ils sont configurés dans différents sous-réseaux et le routage est désactivé entre ces sous-réseaux. Le trafic sortant des Pods vers des adresses situées en dehors du VPC est une adresse réseau traduite en adresse IP de l'interface réseau principale de l'instance (sauf si vous l'avez également AWS_VPC_K8S_CNI_EXTERNALSNAT=true définie). Pour ce trafic, les règles des groupes de sécurité de l'interface réseau principale sont utilisées, plutôt que celles des groupes de sécurité du Pod. ** Pour que ce paramètre s'applique aux pods existants, vous devez redémarrer les pods ou les nœuds sur lesquels les pods s'exécutent.

  6. Pour savoir comment utiliser une politique de groupe de sécurité pour votre Pod, consultezUtiliser une politique de groupe de sécurité pour un Amazon EKS Pod.

Rubrique suivante :

SecurityGroupPolicy

Rubrique précédente :

Groupes de sécurité pour Pods
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.