Hilf mit, diese Seite zu verbessern
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Weisen Sie einzelnen Pods Sicherheitsgruppen zu
Gilt für: Linux-Knoten mit EC2 Amazon-Instances
Gilt für: Private Subnetze
Sicherheitsgruppen für Pods integrieren EC2 Amazon-Sicherheitsgruppen in Kubernetes Pods. Sie können EC2 Amazon-Sicherheitsgruppen verwenden, um Regeln zu definieren, die eingehenden und ausgehenden Netzwerkverkehr zu und von Pods zulassen, die Sie auf Knoten bereitstellen, die auf vielen EC2 Amazon-Instance-Typen und Fargate laufen. Eine ausführliche Erläuterung dieser Funktion finden Sie im Blogbeitrag Einführung in Sicherheitsgruppen für Pods
Kompatibilität mit den Funktionen des Amazon VPC CNI-Plug-ins für Kubernetes-Funktionen
Sie können Sicherheitsgruppen für Pods mit den folgenden Funktionen verwenden:
-
IPv4 Übersetzung der Quell-Netzwerkadresse — Weitere Informationen finden Sie unterAusgehenden Internetzugang für Pods aktivieren.
-
IPv6 Adressen für Cluster, Pods und Dienste — Weitere Informationen finden Sie unterErfahren Sie mehr über IPv6 Adressen für Cluster, Pods und Dienste.
-
Den Datenverkehr mithilfe von Kubernetes-Netzwerkrichtlinien einschränken — Weitere Informationen finden Sie unter. Beschränken Sie den Pod-Verkehr mit Kubernetes-Netzwerkrichtlinien
Überlegungen
Beachten Sie vor der Bereitstellung von Sicherheitsgruppen für Pods die folgenden Einschränkungen und Bedingungen:
-
Sicherheitsgruppen für Pods können nicht mit Windows-Knoten verwendet werden.
-
Sicherheitsgruppen für Pods können mit Clustern verwendet werden, die für die
IPv6
Familie konfiguriert sind und EC2 Amazon-Knoten enthalten. Verwenden Sie dazu Version 1.16.0 oder höher des Amazon VPC CNI-Plug-ins. Sie können Sicherheitsgruppen für Pods mit Clustern verwenden undIPv6
Familien konfigurieren, die nur Fargate-Knoten enthalten, indem Sie Version 1.7.7 oder höher des Amazon VPC CNI-Plug-ins verwenden. Weitere Informationen finden Sie unter Erfahren Sie mehr über IPv6 Adressen für Cluster, Pods und Dienste -
Sicherheitsgruppen für Pods werden von den meisten Nitro-basierten EC2 Amazon-Instance-Familien unterstützt, allerdings nicht von allen Generationen einer Familie. Beispielsweise werden die
m5
r6g
Instance-Familie und die Instance-Generationenc5
r5
m6g
c6g
,,,, und unterstützt. Es werden keine Instance-Typen in dert
-Familie unterstützt. Eine vollständige Liste der unterstützten Instance-Typen finden Sie in der Datei limits.gounter. GitHub Ihre Knoten müssen von einem der aufgelisteten Instance-Typen sein, die in der Datei mit IsTrunkingCompatible: true
gekennzeichnet sind. -
Wenn Sie auch Pod-Sicherheitsrichtlinien verwenden, um den Zugriff auf die Pod-Mutation einzuschränken, muss der
eks:vpc-resource-controller
Kubernetes-Benutzer in den Kubernetes-Dateien angegeben werden, denen SieClusterRoleBinding
zugewiesen sind.role
psp
Wenn Sie das standardmäßige Amazon EKSpsp
,role
, und verwendenClusterRoleBinding
, ist dies dereks:podsecuritypolicy:authenticated
ClusterRoleBinding
. Fügen Sie beispielsweise den Benutzer zumsubjects:
-Abschnitt hinzu, wie im folgenden Beispiel gezeigt:[...] 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
-
Wenn Sie benutzerdefinierte Netzwerk- und Sicherheitsgruppen für Pods zusammen verwenden, wird die in den Sicherheitsgruppen für Pods angegebene Sicherheitsgruppe anstelle der in der angegebenen Sicherheitsgruppe verwendet
ENIConfig
. -
Wenn Sie eine Version
1.10.2
oder eine frühere Version des Amazon VPC CNI-Plug-ins verwenden und dieterminationGracePeriodSeconds
Einstellung in Ihre Pod-Spezifikation aufnehmen, darf der Wert für die Einstellung nicht Null sein. -
Wenn Sie eine Version
1.10
oder eine frühere Version des Amazon VPC CNI-Plug-ins oder eine Version1.11
mitPOD_SECURITY_GROUP_ENFORCING_MODE
= verwendenstrict
, was die Standardeinstellung ist, werden Kubernetes-Services des TypsNodePort
und dieLoadBalancer
Verwendung von Instance-Zielen mit derexternalTrafficPolicy
Einstellung aufLocal
nicht mit Pods unterstützt, denen Sie Sicherheitsgruppen zuweisen. Weitere Informationen zur Verwendung eines Load Balancers mit Instance-Zielen finden Sie unter Weiterleiten von TCP- und UDP-Verkehr mit Network Load Balancers. -
Wenn Sie eine Version
1.10
oder eine frühere Version des Amazon VPC CNI-Plug-ins oder eine Version1.11
mitPOD_SECURITY_GROUP_ENFORCING_MODE
= verwendenstrict
, was die Standardeinstellung ist, ist die Quell-NAT für ausgehenden Datenverkehr von Pods mit zugewiesenen Sicherheitsgruppen deaktiviert, sodass die Regeln für ausgehende Sicherheitsgruppen angewendet werden. Um auf das Internet zuzugreifen, müssen Pods mit zugewiesenen Sicherheitsgruppen auf Knoten gestartet werden, die in einem privaten Subnetz bereitgestellt werden, das mit einem NAT-Gateway oder einer NAT-Instance konfiguriert ist. Pods mit zugewiesenen Sicherheitsgruppen, welche in öffentlichen Subnetzen bereitgestellt werden, können nicht auf das Internet zugreifen.Wenn Sie die Version
1.11
oder eine neuere Version des Plugins mitPOD_SECURITY_GROUP_ENFORCING_MODE
= verwendenstandard
, wird der Pod-Verkehr, der für außerhalb der VPC bestimmt ist, in die IP-Adresse der primären Netzwerkschnittstelle der Instance übersetzt. Für diesen Datenverkehr werden die Regeln in den Sicherheitsgruppen für die primäre Netzwerkschnittstelle verwendet und nicht die Regeln in den Sicherheitsgruppen des Pods. -
Um die Calico-Netzwerkrichtlinie mit Pods zu verwenden, denen Sicherheitsgruppen zugeordnet sind, müssen Sie Version
1.11.0
oder höher des Amazon VPC CNI-Plug-ins verwenden und = setzen.POD_SECURITY_GROUP_ENFORCING_MODE
standard
Andernfalls unterliegt der Verkehrsfluss zu und von Pods mit zugehörigen Sicherheitsgruppen nicht der Durchsetzung der Calico-Netzwerkrichtlinien und ist nur auf die Durchsetzung von EC2 Amazon-Sicherheitsgruppen beschränkt. Informationen zum Aktualisieren Ihrer Version von Amazon VPC CNI finden Sie unter Pods mit dem Amazon VPC CNI zuweisen IPs . -
Pods, die auf EC2 Amazon-Knoten ausgeführt werden und Sicherheitsgruppen in Clustern verwenden, die diese verwenden, NodeLocal DNSCache
werden nur mit Version 1.11.0
oder höher des Amazon VPC CNI-Plug-ins und mitPOD_SECURITY_GROUP_ENFORCING_MODE
= unterstützt.standard
Informationen zum Aktualisieren Ihrer Version des Amazon-VPC-CNI-Plug-ins finden Sie unter Pods mit dem Amazon VPC CNI zuweisen IPs . -
Sicherheitsgruppen für Pods können zu einer höheren Pod-Startlatenz für Pods mit hoher Kundenabwanderung führen. Dies ist auf eine Ratenbegrenzung im Ressourcencontroller zurückzuführen.
-
Wenn Sie
POD_SECURITY_GROUP_ENFORCING_MODE=standard
und festlegenAWS_VPC_K8S_CNI_EXTERNALSNAT=false
, verwendet der Datenverkehr, der für Endpunkte außerhalb der VPC bestimmt ist, die Sicherheitsgruppen des Knotens, nicht die Sicherheitsgruppen des Pods.