Informationen zu IPv6-Adressen für Cluster, Pods und Services - Amazon EKS

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

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, keine IPv4-Adressen. Wenn Pods mit externen IPv4-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 die IPv6-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- und IPv6-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 eindeutige IPv4- und IPv6-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 die IPv6-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.1 oder 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 als 1.10.1 herabstufen, ohne zuerst alle Knoten in allen Knotengruppen in Ihrem Cluster zu entfernen.

  • VPC CNI für IPv6 konfigurieren: Wenn Sie Amazon-EC2-Knoten verwenden, müssen Sie das Amazon-VPC-CNI-Add-On mit IP-Präfix-Delegierung und IPv6 konfigurieren. Wenn Sie beim Erstellen Ihres Clusters die IPv6-Familie wählen, wird die Version 1.10.1 des 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- und IPv6-Adressen konfigurieren: Wenn Sie einen Cluster erstellen, müssen die VPC und die von Ihnen angegebenen Subnetze über einen IPv6-CIDR-Block verfügen, der der VPC und den von Ihnen angegebenen Subnetzen zugewiesen ist. Sie müssen auch über einen IPv4-CIDR-Block verfügen. Dies liegt daran, dass eine VPC, selbst wenn Sie nur IPv6 verwenden möchten, immer noch einen IPv4-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 IPv6 festlegen: Die Routing-Tabellen, die Ihren Subnetzen zugewiesen sind, müssen Routen für IPv6-Adressen haben. Weitere Informationen finden Sie unter Migrieren zu IPv6 im Amazon VPC-Benutzerhandbuch.

  • Sicherheitsgruppen für IPv6 festlegen: Ihre Sicherheitsgruppen müssen IPv6-Adressen zulassen. Weitere Informationen finden Sie unter Migrieren zu IPv6 im Amazon VPC-Benutzerhandbuch.

  • Load Balancer einrichten: Verwenden Sie Version 2.3.1 oder 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 in IPv6-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 eine IPv6-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 mit IPv6 alles wie erwartet funktioniert.

  • Selbstverwaltete BootstrapArguments-Knotengruppen hinzufügen: Beim Erstellen einer selbstverwalteten Knotengruppe in einem Cluster, der die IPv6-Familie nutzt, müssen die Benutzerdaten die folgenden BootstrapArguments für die Datei bootstrap.sh enthalten, die beim Starten des Knotens ausgeführt wird. Ersetzen Sie your-cidr durch den IPv6-CIDR-Bereich der VPC Ihres Clusters.

    --ip-family ipv6 --service-ipv6-cidr your-cidr

    Wenn Sie den IPv6-CIDR-Bereich für Ihren Cluster nicht kennen, können Sie ihn mit dem folgenden Befehl anzeigen (erfordert die AWS-CLI-Version 2.4.9 oder höher).

    aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text