Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Einzelnen Pods Sicherheitsgruppen zuweisen
Gilt für: Linux-Knoten mit Amazon-EC2 -Instances
Gilt für: Private Subnetze
Sicherheitsgruppen für Pods integrieren Amazon-EC2-Sicherheitsgruppen in Kubernetes-Pods. Sie können Amazon-EC2-Sicherheitsgruppen verwenden, um Regeln zu definieren, die ein- und ausgehenden Netzwerkverkehr zu und von Pods zulassen, die Sie auf Knoten bereitstellen, die auf vielen Amazon-EC2-Instance-Typen und Fargate ausgeführt werden. Eine ausführliche Erläuterung dieser Funktion finden Sie im Blogbeitrag Einführung in Sicherheitsgruppen für Pods
Kompatibilität mit den Amazon-VPC-CNI-Plugin für Kubernetes-Features
Sie können Sicherheitsgruppen für Pods mit den folgenden Features verwenden:
-
IPv4-Quellennetzwerk-Adressübersetzung – Weitere Informationen finden Sie unter Aktivierung des ausgehenden Internetzugangs für Pods.
-
IPv6-Adressen für Cluster, Pods und Services – Weitere Informationen finden Sie unter Informationen zu IPv6-Adressen für Cluster, Pods und Services.
-
Einschränkung des Datenverkehrs mithilfe von Kubernetes-Netzwerkrichtlinien – Weitere Informationen finden Sie unter Begrenzen Sie den Pod-Datenverkehr mit Kubernetes-Netzwerkrichtlinien..
Überlegungen
Berücksichtigen 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 für die
IPv6-Familie konfigurierten Clustern verwendet werden, die Amazon-EC2-Knoten enthalten. Hierfür muss mindestens die Version 1.16.0 des Amazon-VPC-CNI-Plugins verwendet werden. Sie können Sicherheitsgruppen für Pods mit für dieIPv6-Familie konfigurierten Clustern verwenden, die nur Fargate-Knoten enthalten. Hierfür muss mindestens die Version 1.7.7 des Amazon-VPC-CNI-Plugins verwendet werden. Weitere Informationen finden Sie unter Informationen zu IPv6-Adressen für Cluster, Pods und Services. -
Sicherheitsgruppen für Pods werden von den meisten Nitro-basierten Amazon-EC2-Instance-Familien unterstützt, jedoch nicht von allen Generationen einer Familie. Beispielsweise werden die Instance-Familien und -generationen
m5,c5,r5,m6g,c6gundr6gunterstützt. Es werden keine Instance-Typen in dert-Familie unterstützt. Eine vollständige Liste der unterstützten Instance-Typen finden Sie in der limits.go-Datei auf Github. Ihre Knoten müssen von einem der aufgelisteten Instance-Typen sein, die in der Datei mit IsTrunkingCompatible: truegekennzeichnet sind. -
Wenn Sie benutzerdefinierte Netzwerk- und Sicherheitsgruppen für Pods zusammen verwenden, wird die durch Sicherheitsgruppen für Pods angegebene Sicherheitsgruppe anstelle der im
ENIConfigangegebenen Sicherheitsgruppe verwendet. -
Wenn Sie Version
1.10.2oder älter des Amazon-VPC-CNI-Plugins verwenden und die EinstellungterminationGracePeriodSecondsin Ihre Pod-Spezifikation aufnehmen, darf der Wert der Einstellung nicht Null sein. -
Wenn Sie Version
1.10oder neuer des Amazon-VPC-CNI-Plugins verwenden oder Version1.11mitPOD_SECURITY_GROUP_ENFORCING_MODE=strict, welches die Standardeinstellung ist, dann werden Kubernetes-Services vom TypNodePortundLoadBalancer, die Instance-Ziele verwenden, für dieexternalTrafficPolicyaufLocaleingestellt ist, nicht für Pods unterstützt, denen Sie Sicherheitsgruppen zuweisen. Weitere Informationen zur Verwendung eines Load Balancers mit Instance-Zielen finden Sie unter Weiterleitung von TCP- und UDP-Datenverkehr mit Network Load Balancers. -
Wenn Sie Version
1.10des Amazon-VPC-CNI-Plugins oder höher verwenden oder Version1.11mitPOD_SECURITY_GROUP_ENFORCING_MODE=strict, welches die Standardeinstellung ist, ist die Quell-NAT für von Pods mit zugewiesenen Sicherheitsgruppen ausgehenden Datenverkehr deaktiviert, damit Sicherheitsgruppenregeln für ausgehenden Datenverkehr angewendet werden können. 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 Version
1.11oder höher des Plug-Ins mitPOD_SECURITY_GROUP_ENFORCING_MODE=standardverwenden, wird der für außerhalb der VPC bestimmte Pod-Datenverkehr 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 anstelle der Regeln in den Pods-Sicherheitsgruppen verwendet. -
Um die Calico-Netzwerkrichtlinie mit Pods zu verwenden, denen Sicherheitsgruppen zugewiesen sind, müssen Sie Version
1.11.0oder höher des Amazon-VPC-CNI-Plugins verwenden undPOD_SECURITY_GROUP_ENFORCING_MODE=standardfestlegen. Andernfalls wird Datenverkehr zu und von Pods mit zugehörigen Sicherheitsgruppen nicht von den Calico-Netzwerkrichtlinien geregelt, sondern es gelten ausschließlich die Amazon-EC2-Sicherheitsgruppen. Informationen zum Aktualisieren Ihrer Version von Amazon VPC CNI finden Sie unter Zuweisung von IPs zu Pods mit Amazon VPC CNI. -
Pods, die auf Amazon EC2-Knoten ausgeführt werden, die Sicherheitsgruppen in Clustern verwenden, die NodeLocal DNSCache
verwenden, werden nur mit Version 1.11.0oder höher des Amazon-VPC-CNI-Plugins mit der EinstellungPOD_SECURITY_GROUP_ENFORCING_MODE=standardunterstützt. Informationen zum Aktualisieren Ihrer Version des Amazon-VPC-CNI-Plug-ins finden Sie unter Zuweisung von IPs zu Pods mit Amazon VPC CNI. -
Sicherheitsgruppen für Pods können bei Pods mit hoher Fluktuation zu einer höheren Pod-Startup-Latenz führen. Dies ist auf eine Ratenbegrenzung im Ressourcencontroller zurückzuführen.
-
Der Geltungsbereich der EC2-Sicherheitsgruppe liegt auf Pod-Ebene. Weitere Informationen finden Sie unter Sicherheitsgruppe.
Wenn Sie
POD_SECURITY_GROUP_ENFORCING_MODE=standardundAWS_VPC_K8S_CNI_EXTERNALSNAT=falsefestlegen, verwendet der für Endpunkte außerhalb der VPC bestimmte Datenverkehr die Sicherheitsgruppen des Knotens und nicht die Sicherheitsgruppen des Pods.