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.
Informationen zu IPv6-Adressen für Cluster, Pods und Services
Gilt für: Pods mit Amazon-EC2-Instances und Fargate Pods
Standardmäßig weist Kubernetes Ihren Pods und Services IPv4-Adressen zu. Anstatt Ihren Pods und Services IPv4-Adressen zuzuweisen, können Sie Ihren Cluster so konfigurieren, dass er ihnen IPv6-Adressen zuweist. Amazon EKS unterstützt keine Dual-Stack-Pods oder -Services, obwohl Kubernetes dies tut. Daher können Sie Ihren Pods und Services nicht sowohl IPv4- als auch IPv6-Adressen zuweisen.
Sie wählen aus, welche IP-Familie Sie für Ihren Cluster verwenden möchten, wenn Sie ihn erstellen. Sie können die Familie nach dem Erstellen des Clusters nicht mehr ändern.
Ein Tutorial zum Bereitstellen eines Amazon-EKS-IPv6-Clusters finden Sie unter Bereitstellen eines IPv6-Clusters von Amazon EKS und verwalteter Amazon-Linux-Knoten.
Nachfolgend finden Sie einige Überlegungen zur Verwendung des Features:
IPv6-Feature-Support
-
Kein Windows-Support: Windows-Pods und -Services werden nicht unterstützt.
-
Nitro-basierte EC2-Knoten erforderlich: Sie können
IPv6nur mit AWS-Nitro-basierten Amazon-EC2- oder Fargate-Knoten verwenden. -
EC2- und Fargate-Knoten werden unterstützt: Sie können
IPv6mit Einzelnen Pods Sicherheitsgruppen zuweisen mit Amazon-EC2-Knoten und Fargate-Knoten verwenden. -
Outposts werden nicht unterstützt: Sie können
IPv6nicht mit Bereitstellung von Amazon EKS On-Premises mit AWS Outposts verwenden. -
FSx für Lustre wird nicht unterstützt: Das Verwendung von leistungsstarkem App-Speicher mit Amazon FSx für Lustre wird nicht unterstützt.
-
Benutzerdefinierte Netzwerke werden nicht unterstützt: Wenn Sie zuvor Bereitstellung von Pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk verwendet haben, um die Erschöpfung von IP-Adressen zu verringern, können Sie stattdessen
IPv6verwenden. Sie können benutzerdefinierte Netzwerke nicht mitIPv6verwenden. Wenn Sie benutzerdefinierte Netzwerke für die Netzwerkisolierung verwenden, müssen Sie möglicherweise weiterhin benutzerdefinierte Netzwerke und dieIPv4-Produktfamilie für Ihre Cluster verwenden.
Zuweisung von IP-Adressen
-
Kubernetes- Services: Kubernetes-Services werden lediglich
IPv6-Adressen zugewiesen. Es werden ihnen keine IPv4-Adressen zugewiesen. -
Pods: Pods werden eine IPv6-Adresse und eine host-lokale IPv4-Adresse zugewiesen. Die hostlokale IPv4-Adresse wird mithilfe eines hostlokalen CNI-Plugins zugewiesen, das mit VPC CNI verkettet ist, und die Adresse wird nicht an die Kubernetes-Steuerebene gemeldet. Sie wird nur verwendet, wenn ein Pod mit externen IPv4-Ressourcen in einer anderen Amazon VPC oder im Internet kommunizieren muss. Die hostlokale IPv4-Adresse wird (von VPC CNI) per SNAT an die primäre IPv4-Adresse der primären ENI des Worker-Knotens gekoppelt.
-
Pods und Services: Pods und Services erhalten nur
IPv6-Adressen, keineIPv4-Adressen. Wenn Pods mit externenIPv4-Endpunkten kommunizieren müssen, verwenden sie NAT auf dem Knoten selbst. Diese integrierte NAT-Funktion macht DNS64 und NAT64 überflüssig. Für Datenverkehr, der einen öffentlichen Internetzugang erfordert, wird die Quellnetzwerkadresse des Pods in eine öffentliche IP-Adresse übersetzt. -
Weiterleitung von Adressen: Wenn ein Pod außerhalb der VPC kommuniziert, bleibt seine ursprüngliche
IPv6-Adresse erhalten (sie wird nicht in dieIPv6-Adresse des Knotens übersetzt). Dieser Datenverkehr wird direkt über ein Internet-Gateway oder ein nur für den Ausgang bestimmtes Internet-Gateway weitergeleitet. -
Knoten: Allen Knoten wird eine
IPv4- undIPv6-Adresse zugewiesen. -
Fargate-Pods: Jeder Fargate-Pod erhält eine
IPv6-Adresse vom CIDR, die für das Subnetz angegeben ist, in dem er bereitgestellt wird. Die zugrunde liegende Hardware-Einheit, die Fargate-Pods ausführt, erhält eine eindeutigeIPv4- undIPv6-Adresse von den CIDRs, die dem Subnetz zugewiesen sind, in dem die Hardwareeinheit bereitgestellt wird.
Vorgehensweise zur Verwendung von IPv6 mit EKS
-
Neuen Cluster erstellen: Sie müssen einen neuen Cluster erstellen und angeben, dass Sie die
IPv6-Familie für diesen Cluster verwenden möchten. Sie können dieIPv6-Familie nicht für einen Cluster aktivieren, den Sie von einer früheren Version aktualisiert haben. Anweisungen zum Erstellen eines neuen Clusters finden Sie unter Überlegungen. -
Aktuelles VPC CNI verwenden: Stellen Sie Amazon VPC CNI Version
1.10.1oder höher bereit. Diese Version oder höher wird standardmäßig bereitgestellt. Nachdem Sie das Add-On bereitgestellt haben, können Sie Ihr Amazon-VPC-CNI-Add-On nicht auf eine niedrigere Version als1.10.1herabstufen, ohne zuerst alle Knoten in allen Knotengruppen in Ihrem Cluster zu entfernen. -
VPC CNI für
IPv6konfigurieren: Wenn Sie Amazon-EC2-Knoten verwenden, müssen Sie das Amazon-VPC-CNI-Add-On mit IP-Präfix-Delegierung undIPv6konfigurieren. Wenn Sie beim Erstellen Ihres Clusters dieIPv6-Familie wählen, wird die Version1.10.1des Add-ons standardmäßig auf diese Konfiguration festgelegt. Dies ist sowohl bei einem selbstverwalteten als auch bei Amazon EKS Add-on der Fall. Weitere Informationen über die IP-Präfix-Delegation finden Sie unter Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten. -
IPv4- undIPv6-Adressen konfigurieren: Wenn Sie einen Cluster erstellen, müssen die VPC und die von Ihnen angegebenen Subnetze über einenIPv6-CIDR-Block verfügen, der der VPC und den von Ihnen angegebenen Subnetzen zugewiesen ist. Sie müssen auch über einenIPv4-CIDR-Block verfügen. Dies liegt daran, dass eine VPC, selbst wenn Sie nurIPv6verwenden möchten, immer noch einenIPv4-CIDR-Block benötigt, um zu funktionieren. Weitere Informationen finden Sie unter Zuordnen eines IPv6-CIDR-Blocks zu Ihrer VPC im Amazon-VPC-Benutzerhandbuch. -
Automatische Zuweisung von IPv6-Adressen zu Knoten: Wenn Sie Ihren Cluster und Ihre Knoten erstellen, müssen Sie Subnetze angeben, die für die automatische Zuweisung von
IPv6-Adressen konfiguriert sind. Andernfalls können Sie Ihre Knoten nicht bereitstellen. Diese Konfiguration ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Ändern des öffentlichen IPv6-Adressierungsattributs für Ihr Subnetz im Amazon VPC-Benutzerhandbuch. -
Routing-Tabellen für die Verwendung von
IPv6festlegen: Die Routing-Tabellen, die Ihren Subnetzen zugewiesen sind, müssen Routen fürIPv6-Adressen haben. Weitere Informationen finden Sie unter Migrieren zu IPv6 im Amazon VPC-Benutzerhandbuch. -
Sicherheitsgruppen für
IPv6festlegen: Ihre Sicherheitsgruppen müssenIPv6-Adressen zulassen. Weitere Informationen finden Sie unter Migrieren zu IPv6 im Amazon VPC-Benutzerhandbuch. -
Load Balancer einrichten: Verwenden Sie Version
2.3.1oder höher des AWS Load Balancer Controllers, um HTTP-Anwendungen mithilfe von Anwendungen und HTTP-Datenverkehr mit Application Load Balancers weiterleiten oder Netzwerk-Datenverkehr unter Verwendung von Weiterleitung von TCP- und UDP-Datenverkehr mit Network Load Balancers inIPv6-Pods, mit einem der Load Balancer im IP-Modus, aber nicht im Instance-Modus, auszugleichen. Weitere Informationen finden Sie unter Weiterleitung von Internet-Datenverkehr mit AWS Load Balancer Controller. -
IPv6-IAM-Richtlinie hinzufügen: Sie müssen eineIPv6-IAM-Richtlinie an die IAM- oder CNI-IAM-Rolle Ihres Knotens anfügen. Zwischen den beiden empfehlen wir, dass Sie sie an eine CNI IAM-Rolle anfügen. Weitere Informationen erhalten Sie unter Erstellen Sie eine IAM-Richtlinie für Cluster, die die IPv6-Familie verwendet und Schritt 1: Amazon-VPC-CNI-Plugin für die Kubernetes-IAM-Rolle erstellen. -
Alle Komponenten bewerten: Führen Sie eine gründliche Bewertung Ihrer Anwendungen, Amazon-EKS-Add-Ons und AWS-Services durch, die Sie integrieren, bevor Sie
IPv6-Cluster bereitstellen. Dies soll sicherstellen, dass mitIPv6alles wie erwartet funktioniert. -
Selbstverwaltete
BootstrapArguments-Knotengruppen hinzufügen: Beim Erstellen einer selbstverwalteten Knotengruppe in einem Cluster, der dieIPv6-Familie nutzt, müssen die Benutzerdaten die folgendenBootstrapArgumentsfür die Datei bootstrap.shenthalten, die beim Starten des Knotens ausgeführt wird. Ersetzen Sie your-cidrdurch denIPv6-CIDR-Bereich der VPC Ihres Clusters.--ip-family ipv6 --service-ipv6-cidr your-cidrWenn Sie den
IPv6-CIDR-Bereich für Ihren Cluster nicht kennen, können Sie ihn mit dem folgenden Befehl anzeigen (erfordert die AWS-CLI-Version2.4.9oder höher).aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text