Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Limitation du trafic des pods à l’aide des politiques réseau Kubernetes
Par défaut, Kubernetes n’impose aucune restriction concernant les adresses IP, les ports ou les connexions entre les pods d’un même cluster, ni entre vos pods et des ressources situées dans d’autres réseaux. Vous pouvez utiliser une politique réseau Kubernetes pour limiter le trafic réseau vers et depuis vos pods. Pour plus d’informations, consultez Politiques réseau
Si votre cluster exécute une version 1.13 ou antérieure du plug-in Amazon VPC CNI pour Kubernetes, vous devez utiliser une solution tierce pour appliquer les politiques réseau Kubernetes. À partir de la version 1.14 ou ultérieure du plug-in, il est possible d’implémenter les politiques réseau directement, sans recourir à une solution tierce. Dans cette rubrique, vous apprendrez à configurer votre cluster Amazon EKS pour utiliser les politiques réseau Kubernetes sans module complémentaire tiers.
Les politiques réseau du plug-in Amazon VPC CNI pour Kubernetes sont prises en charge dans les configurations suivantes.
-
Version 1.14 ou ultérieure du plug-in Amazon VPC CNI installée sur votre cluster.
-
Cluster configuré pour les adresses
IPv4ouIPv6. -
Vous pouvez utiliser les politiques réseau avec des groupes de sécurité pour les pods. Grâce aux stratégies réseau, vous pouvez contrôler toutes les communications au sein du cluster. Grâce aux groupes de sécurité pour pods, vous pouvez contrôler l’accès aux services AWS depuis les applications exécutées à l’intérieur d’un pod.
-
Vous pouvez utiliser les stratégies réseau avec mise en réseau personnalisée et délégation de préfixes.
Considérations
Architecture
-
Lorsque vous appliquez des politiques réseau du plug-in Amazon VPC CNI pour Kubernetes à votre cluster, ces politiques peuvent être appliquées uniquement aux nœuds Linux Amazon EC2. Il n’est pas possible d’appliquer ces politiques aux nœuds Fargate ni aux nœuds Windows.
-
Les politiques réseau ne s’appliquent qu’à une seule famille d’adresses IP, soit
IPv4, soitIPv6, mais pas aux deux en même temps. Dans un clusterIPv4, le plug-in VPC CNI attribue des adressesIPv4aux pods et applique les politiquesIPv4correspondantes. Dans un clusterIPv6, le plug-in VPC CNI attribue des adressesIPv6aux pods et applique les politiquesIPv6correspondantes. Toute règle de politique réseauIPv4appliquée à un clusterIPv6est ignorée. Toute règle de politique réseauIPv6appliquée à un clusterIPv4est ignorée.
Politiques réseau
-
Les politiques réseau s’appliquent uniquement aux pods faisant partie d’un déploiement. Les pods autonomes qui n’ont pas de
metadata.ownerReferencesdéfinies ne peuvent pas se voir appliquer de politique réseau. -
Il est possible d’appliquer plusieurs politiques réseau à un même pod. Lorsque plusieurs politiques ciblent le même pod, toutes les politiques sont appliquées simultanément.
-
Le nombre maximal de combinaisons de ports et de protocoles pour une même plage d’adresses IP (CIDR) est de 24, toutes politiques réseau confondues. Les sélecteurs tels que
namespaceSelectorse traduisent par une ou plusieurs plages CIDR. Si plusieurs sélecteurs aboutissent à la même plage CIDR ou si une même plage CIDR directe est spécifiée plusieurs fois, dans une ou plusieurs politiques réseau, chacune de ces occurrences compte dans cette limite. -
Pour tous les services Kubernetes, le port du service doit être identique au port du conteneur. Si vous utilisez des ports nommés, vous devez employer le même nom dans la spécification du service.
Migration
-
Si votre cluster utilise actuellement une solution tierce pour gérer les politiques réseau Kubernetes, vous pouvez réutiliser ces mêmes politiques avec le plug-in Amazon VPC CNI pour Kubernetes. Cependant, vous devez supprimer la solution existante afin d’éviter qu’elle ne gère les mêmes politiques en parallèle.
Avertissement
Il est recommandé, après avoir supprimé la solution de politique réseau, de remplacer tous les nœuds sur lesquels cette solution était appliquée. Cette mesure permet d’éviter que des règles de trafic résiduelles laissées par un pod de la solution, notamment si celui-ci s’arrête brusquement, ne restent actives sur les nœuds.
Installation
-
La fonctionnalité de stratégie réseau crée et nécessite une définition de ressource personnalisée (CRD) de
PolicyEndpointappeléepolicyendpoints.networking.k8s.aws. Les objets duPolicyEndpointde la ressource personnalisée sont gérés par Amazon EKS. Vous ne devez ni modifier ni supprimer ces ressources. -
Si vous exécutez des pods qui utilisent les informations d'identification IAM du rôle d'instance ou si vous vous connectez à l'IMDS EC2, veillez à vérifier les stratégies réseau susceptibles de bloquer l'accès à l'IMDS EC2. Vous devrez peut-être ajouter une stratégie réseau pour autoriser l'accès à l'IMDS EC2. Pour plus d'informations, consultez Métadonnées d'instance et données utilisateur dans le Guide de l'utilisateur Amazon EC2.
Les pods qui utilisent des rôles IAM pour les comptes de service ou l’identité du pod EKS n’accèdent pas au service IMDS EC2.
-
Le plug-in Amazon VPC CNI pour Kubernetes n’applique pas les politiques réseau aux interfaces réseau supplémentaires pour chaque pod, mais uniquement à l’interface principale de chaque pod (
eth0). Cela concerne les architectures suivantes :-
IPv6pods dont la variableENABLE_V4_EGRESSest définie surtrue. Cette variable permet à la fonctionnalité de sortieIPv4de connecter les pods IPv6 à des points de terminaisonIPv4, comme ceux situés en dehors du cluster. La fonctionnalité de sortieIPv4fonctionne en créant une interface réseau supplémentaire avec une adresse IPv4 de boucle locale. -
Lorsque vous utilisez des plugins réseau chaînés tels que Multus. Comme ces plug-ins ajoutent des interfaces réseau à chaque pod, les politiques réseau ne sont pas appliquées aux plug-ins réseau chaînés.
-