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.
Attribuer des groupes de sécurité à des pods individuels
S'applique aux Linux nœuds dotés d'EC2instances Amazon
S'applique à : sous-réseaux privés
Groupes de sécurité auxquels Pods intégrer les groupes EC2 de sécurité Amazon KubernetesPods. Vous pouvez utiliser les groupes EC2 de sécurité Amazon pour définir des règles qui autorisent le trafic réseau entrant et sortant à destination et en provenance de celui-ci Pods que vous déployez vers des nœuds exécutés sur de nombreux types d'EC2instances Amazon et sur Fargate. Pour obtenir une explication détaillée de cette capacité, consultez l'article de blog Présentation des groupes de sécurité pour les Pods
Compatibilité avec les Amazon VPC CNI plugin for Kubernetes fonctionnalités
Vous pouvez utiliser des groupes de sécurité pour Pods les fonctionnalités suivantes :
-
IPv4Traduction de l'adresse réseau source - Pour plus d'informations, consultezActiver l'accès Internet sortant pour pods.
-
IPv6adresses vers les clusters, les pods et les services - Pour plus d'informations, consultezAttribuer IPv6 des adresses aux clusters, pods, et services.
-
Restreindre le trafic à l'aide de politiques Kubernetes réseau - Pour plus d'informations, consultezLimitez pod le trafic grâce à des politiques Kubernetes réseau.
Considérations
Avant de déployer des groupes de sécurité pour les Pods, tenez compte des limites et conditions suivantes :
-
Les groupes de sécurité pour les Pods ne peuvent pas être utilisés avec les nœuds Windows.
-
Les groupes de sécurité pour Pods peuvent être utilisés avec des clusters configurés pour la
IPv6
famille contenant des EC2 nœuds Amazon à l'aide de la version 1.16.0 ou ultérieure du plugin Amazon VPCCNI. Vous pouvez utiliser des groupes de sécurité pour configurer des clusters PodsIPv6
contenant uniquement des nœuds Fargate en utilisant la version 1.7.7 ou ultérieure du plugin Amazon. VPC CNI Pour plus d’informations, consultez Attribuer IPv6 des adresses aux clusters, pods, et services. -
Les groupes de sécurité pour Pods sont pris en charge par la plupart des familles d'EC2instances Amazon basées sur Nitro, mais pas par toutes les générations d'une famille. Par exemple
m5
, la famille et les générationsc5
r5
m6g
,,c6g
,, et d'r6g
instance sont prises en charge. Aucun type d'instance de la famillet
n'est pris en charge. Pour obtenir la liste complète des types d'instances pris en charge, consultez le fichier limits.go sur.GitHub Vos nœuds doivent être l'un des types d'instance répertoriés qui ont IsTrunkingCompatible: true
dans ce fichier. -
Si vous utilisez également des politiques de sécurité Pod pour restreindre l'accès à la mutation de Pod, l'utilisateur
eks:vpc-resource-controller
Kubernetes doit être spécifié dans le KubernetesClusterRoleBinding
durole
auquel votrepsp
est assigné. Si vous utilisez Amazon par défaut EKSpsp
role
ClusterRoleBinding
, et qu'il s'agit dueks:podsecuritypolicy:authenticated
ClusterRoleBinding
. Par exemple, vous ajoutez l'utilisateur à la sectionsubjects:
, comme le montre l'exemple suivant :[...] subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:authenticated - apiGroup: rbac.authorization.k8s.io kind: User name: eks:vpc-resource-controller - kind: ServiceAccount name: eks-vpc-resource-controller
-
Si vous utilisez les réseaux personnalisés et les groupes de sécurité pour Pods ensemble, le groupe de sécurité spécifié par les groupes de sécurité pour les Pods est utilisé à la place du groupe de sécurité spécifié dans le paramètre
ENIConfig
. -
Si vous utilisez la version
1.10.2
ou une version antérieure du VPC CNI plugin Amazon et que vous incluez leterminationGracePeriodSeconds
paramètre dans vos Pod spécifications, la valeur du paramètre ne peut pas être zéro. -
Si vous utilisez la version
1.10
ou une version antérieure du VPC CNI plugin Amazon, ou la version1.11
avecPOD_SECURITY_GROUP_ENFORCING_MODE
=strict
, qui est le paramètre par défaut, les Kubernetes services de typeNodePort
et ceuxLoadBalancer
utilisant des cibles d'instance avec unexternalTrafficPolicy
set deLocal
ne sont pas pris en charge dans la mesure Pods où vous attribuez des groupes de sécurité. Pour plus d'informations sur l'utilisation d'un équilibreur de charge avec des cibles d'instance, consultez Acheminement TCP and UDP trafic avec Network Load Balancers. -
Si vous utilisez la version
1.10
ou une version antérieure du VPC CNI plugin Amazon ou la version1.11
avecPOD_SECURITY_GROUP_ENFORCING_MODE
=strict
, qui est le paramètre par défaut, la source NAT est désactivée pour le trafic sortant provenant de groupes de sécurité Pods assignés afin que les règles des groupes de sécurité sortants soient appliquées. Pour accéder à Internet, Pods les groupes de sécurité assignés doivent être lancés sur des nœuds déployés dans un sous-réseau privé configuré avec une NAT passerelle ou une instance. Podsauxquels des groupes de sécurité ont été assignés et déployés sur des sous-réseaux publics ne sont pas en mesure d'accéder à Internet.Si vous utilisez une version
1.11
ou une version ultérieure du plugin avecPOD_SECURITY_GROUP_ENFORCING_MODE
=standard
, le Pod trafic destiné à l'extérieur VPC est traduit vers l'adresse IP de l'interface réseau principale de l'instance. Pour ce trafic, les règles des groupes de sécurité de l'interface réseau principale sont utilisées, plutôt que les règles des groupes de sécurité de Pod's. -
Pour utiliser la politique Calico réseau avec Pods des groupes de sécurité associés, vous devez utiliser la version
1.11.0
ou une version ultérieure du VPC CNI plugin Amazon et définirPOD_SECURITY_GROUP_ENFORCING_MODE
=standard
. Dans le cas contraire, le flux de trafic à destination et en provenance des groupes de sécurité Pods associés n'est pas soumis à l'application de la politique Calico réseau et est limité à l'application des groupes de EC2 sécurité Amazon uniquement. Pour mettre à jour votre VPC CNI version d'Amazon, consultez Attribuer IPs à Pods avec Amazon VPC CNI -
Podss'exécutant sur EC2 des nœuds Amazon qui utilisent des groupes de sécurité dans des clusters qui NodeLocalDNSCache
les utilisent ne sont pris en charge qu'avec la version 1.11.0
ou une version ultérieure du VPC CNI plugin Amazon et avecPOD_SECURITY_GROUP_ENFORCING_MODE
=standard
. Pour mettre à jour la version de votre VPC CNI plugin Amazon, consultez Attribuer IPs à Pods avec Amazon VPC CNI -
Des groupes de sécurité pour les Pods peuvent entraîner une augmentation de la latence de démarrage des Pod pour des Pods avec un taux de désabonnement élevé. Cela est dû à la limitation du débit dans le contrôleur de ressources.
-
L'étendue du groupe de EC2 sécurité se situe au Pod niveau --Pour plus d'informations, voir Groupe de sécurité.
Si vous définissez
POD_SECURITY_GROUP_ENFORCING_MODE=standard
etAWS_VPC_K8S_CNI_EXTERNALSNAT=false
, le trafic destiné à des points de terminaison extérieurs à VPC celui-ci utilise les groupes de sécurité du nœud, et non les groupes Pod de sécurité.