Präfix-Modus für Linux - Amazon EKS

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.

Präfix-Modus für Linux

Amazon VPC CNI weist Amazon-Netzwerkschnittstellen EC2 Netzwerkpräfixe zu, um die Anzahl der für Knoten verfügbaren IP-Adressen zu erhöhen und die Pod-Dichte pro Knoten zu erhöhen. Sie können Version 1.9.0 oder höher des VPC CNI Amazon-Add-ons so konfigurieren, dass IPv6 CIDRs Netzwerkschnittstellen einzelne sekundäre IP-Adressen zugewiesen werden IPv4 und nicht.

Der Präfix-Modus ist standardmäßig auf IPv6 Clustern aktiviert und ist die einzige unterstützte Option. Der VPC CNI weist einem Steckplatz auf einem ein IPv6 /80-Präfix zu. ENI Weitere Informationen finden Sie im IPv6Abschnitt dieses Handbuchs.

Im Präfixzuweisungsmodus bleibt die maximale Anzahl von Elastic Network-Schnittstellen pro Instance-Typ gleich, aber Sie können Amazon jetzt so konfigurieren, VPC CNI dass /28 (16 IP-Adressen) IPv4 Adresspräfixe zugewiesen werden, anstatt den Steckplätzen auf Netzwerkschnittstellen einzelne IPv4 Adressen zuzuweisen. When ENABLE_PREFIX_DELEGATION ist auf true gesetzt und VPC CNI weist einem Pod eine IP-Adresse aus dem Präfix zu, das einem zugewiesen wurde. ENI Bitte folgen Sie den Anweisungen in der EKSBedienungsanleitung, um den Prefix-IP-Modus zu aktivieren.

Abbildung von zwei Worker-Subnetzen

Die maximale Anzahl der IP-Adressen, die Sie einer Netzwerkschnittstelle zuweisen können, hängt vom Instance-Typ ab. Jedes Präfix, das Sie einer Netzwerkschnittstelle zuweisen, zählt als eine IP-Adresse. Zum Beispiel hat eine c5.large Instanz ein Limit an 10 IPv4 Adressen pro Netzwerkschnittstelle. Jede Netzwerkschnittstelle für diese Instanz hat eine primäre IPv4 Adresse. Wenn eine Netzwerkschnittstelle keine sekundären IPv4 Adressen hat, können Sie der Netzwerkschnittstelle bis zu 9 Präfixe zuweisen. Für jede weitere IPv4 Adresse, die Sie einer Netzwerkschnittstelle zuweisen, können Sie der Netzwerkschnittstelle ein Präfix weniger zuweisen. Lesen Sie die AWS EC2 Dokumentation zu IP-Adressen pro Netzwerkschnittstelle pro Instanztyp und zur Zuweisung von Präfixen zu Netzwerkschnittstellen.

Bei der Initialisierung des Worker-Knotens VPC CNI weist der dem Primärknoten ein oder mehrere Präfixe zu. ENI Der CNI weist vorab ein Präfix für einen schnelleren Pod-Start zu, indem ein warmer Pool aufrechterhalten wird. Die Anzahl der Präfixe, die im warmen Pool gespeichert werden sollen, kann durch die Einstellung von Umgebungsvariablen gesteuert werden.

  • WARM_PREFIX_TARGET, die Anzahl der Präfixe, die über den aktuellen Bedarf hinaus zugewiesen werden sollen.

  • WARM_IP_TARGET, die Anzahl der IP-Adressen, die über den aktuellen Bedarf hinaus zugewiesen werden sollen.

  • MINIMUM_IP_TARGET, die Mindestanzahl von IP-Adressen, die zu einem beliebigen Zeitpunkt verfügbar sein müssen.

  • WARM_IP_TARGETund MINIMUM_IP_TARGET falls gesetzt, wird es überschriebenWARM_PREFIX_TARGET.

Wenn mehr Pods geplant sind, werden zusätzliche Präfixe für die vorhandenen ENI angefordert. Zunächst wird VPC CNI versucht, einem vorhandenen Präfix ein neues zuzuweisen. ENI Wenn der ausgelastet ENI ist, wird VPC CNI versucht, dem Knoten ein neues ENI zuzuweisen. Neue ENIs werden hinzugefügt, bis das maximale ENI Limit (definiert durch den Instanztyp) erreicht ist. Wenn ein neues angehängt ENI wird, weist ipamd ein oder mehrere Präfixe zu, die zur Beibehaltung der Einstellung WARM_PREFIX_TARGETWARM_IP_TARGET, und erforderlich sind. MINIMUM_IP_TARGET

Ablaufdiagramm des Verfahrens für die Zuweisung von IP zu einem Pod

Empfehlungen

Verwenden Sie den Präfixmodus, wenn

Verwenden Sie den Präfixmodus, wenn auf den Worker-Knoten ein Problem mit der Pod-Dichte auftritt. Um VPC CNI Fehler zu vermeiden, empfehlen wir, die Subnetze vor der Migration in den Präfixmodus auf zusammenhängende Adressblöcke für das Präfix /28 zu untersuchen. Einzelheiten zur Subnetzreservierung finden Sie im Abschnitt „Subnetzreservierungen verwenden, um Subnetzfragmentierung zu vermeiden (IPv4)“.

Aus Gründen der Abwärtskompatibilität ist das Max-Pods-Limit so eingestellt, dass es den sekundären IP-Modus unterstützt. Um die Pod-Dichte zu erhöhen, geben Sie bitte den max-pods Wert für Kubelet und --use-max-pods=false als Benutzerdaten für die Knoten an. Sie können erwägen, das max-pod-calculator.sh-Skript zu verwenden, um die empfohlene maximale Anzahl von Pods für einen bestimmten Instance-Typ zu berechnenEKS. Beispiele für EKS Benutzerdaten finden Sie im Benutzerhandbuch.

./max-pods-calculator.sh --instance-type m5.large --cni-version ``1.9``.0 --cni-prefix-delegation-enabled

Der Präfixzuweisungsmodus ist besonders für Benutzer von CNIbenutzerdefinierten Netzwerken relevant, bei denen der primäre ENI Modus nicht für Pods verwendet wird. Mit der Präfixzuweisung können Sie immer noch mehr IPs an fast jeden Nitro-Instanztyp anhängen, auch ohne dass der Primärinstanztyp für Pods ENI verwendet wird.

Vermeiden Sie den Präfix-Modus, wenn

Wenn Ihr Subnetz stark fragmentiert ist und nicht genügend IP-Adressen verfügbar sind, um /28-Präfixe zu erstellen, vermeiden Sie den Präfixmodus. Die Präfixzuweisung kann fehlschlagen, wenn das Subnetz, aus dem das Präfix generiert wird, fragmentiert ist (ein stark frequentiertes Subnetz mit verstreuten sekundären IP-Adressen). Dieses Problem kann vermieden werden, indem ein neues Subnetz erstellt und ein Präfix reserviert wird.

Im Präfixmodus wird die den Worker-Knoten zugewiesene Sicherheitsgruppe von den Pods gemeinsam genutzt. Erwägen Sie die Verwendung von Sicherheitsgruppen für Pods, wenn Sie Sicherheitsanforderungen haben, um die Einhaltung von Vorschriften zu erreichen, indem Sie Anwendungen mit unterschiedlichen Netzwerksicherheitsanforderungen auf gemeinsam genutzten Rechenressourcen ausführen.

Verwenden Sie ähnliche Instanztypen in derselben Knotengruppe

Ihre Knotengruppe kann Instanzen vieler Typen enthalten. Wenn eine Instanz eine niedrige maximale Pod-Anzahl hat, wird dieser Wert auf alle Knoten in der Knotengruppe angewendet. Erwägen Sie, ähnliche Instanztypen in einer Knotengruppe zu verwenden, um die Knotennutzung zu maximieren. Wir empfehlen, node.kubernetes.io/instance-type im Anforderungsteil des API Provisioners zu konfigurieren, wenn Sie Karpenter für die automatisierte Knotenskalierung verwenden.

Warnung

Die maximale Pod-Anzahl für alle Knoten in einer bestimmten Knotengruppe wird durch die niedrigste maximale Pod-Anzahl aller einzelnen Instance-Typen in der Knotengruppe definiert.

Konfigurieren Sie WARM_PREFIX_TARGET die Konfiguration, um Adressen zu speichern IPv4

Der Standardwert für des Installationsmanifests WARM_PREFIX_TARGET ist 1. In den meisten Fällen bietet der empfohlene Wert 1 für WARM_PREFIX_TARGET eine gute Mischung aus schnellen Pod-Startzeiten und der Minimierung ungenutzter IP-Adressen, die der Instance zugewiesen sind.

Wenn Sie IPv4 Adressen pro Node-Nutzung WARM_IP_TARGET und MINIMUM_IP_TARGET Einstellungen, die WARM_PREFIX_TARGET bei der Konfiguration außer Kraft gesetzt werden, weiter speichern müssen. Durch WARM_IP_TARGET die Einstellung auf einen Wert unter 16 können Sie verhindern, dass ein ganzes überschüssiges Präfix angehängt wird. CNI

Ziehen Sie es vor, neue Präfixe zuzuweisen, anstatt ein neues anzuhängen ENI

Das Zuweisen eines zusätzlichen Präfixes zu einem vorhandenen ENI ist ein schnellerer EC2 API Vorgang als das Erstellen und Anhängen eines neuen Präfixes an die Instanz. ENI Die Verwendung von Präfixen verbessert die Leistung und ist gleichzeitig sparsam bei der Adresszuweisung. IPv4 Das Anhängen eines Präfixes ist in der Regel in weniger als einer Sekunde abgeschlossen, wohingegen das Anhängen eines neuen Präfixes bis zu 10 Sekunden dauern ENI kann. In den meisten Anwendungsfällen CNI benötigt der nur einen einzigen ENI pro Worker-Knoten, wenn er im Präfixmodus ausgeführt wird. Wenn Sie sich (im schlimmsten Fall) bis zu 15 ungenutzte IPs Knoten leisten können, empfehlen wir dringend, den neueren Netzwerkmodus mit Präfixzuweisung zu verwenden und die damit verbundenen Leistungs- und Effizienzsteigerungen zu nutzen.

Verwenden Sie Subnetzreservierungen, um Subnetzfragmentierung zu vermeiden () IPv4

Wenn einem ein IPv4 /28-Präfix zugewiesen wirdENI, muss es sich um einen zusammenhängenden EC2 Block von IP-Adressen aus Ihrem Subnetz handeln. Wenn das Subnetz, aus dem das Präfix generiert wird, fragmentiert ist (ein häufig verwendetes Subnetz mit verstreuten sekundären IP-Adressen), schlägt die Präfixverknüpfung möglicherweise fehl, und in den Protokollen wird die folgende Fehlermeldung angezeigt: VPC CNI

failed to allocate a private IP/Prefix address: InsufficientCidrBlocks: There are not enough free cidr blocks in the specified subnet to satisfy the request.

Um Fragmentierung zu vermeiden und über ausreichend zusammenhängenden Speicherplatz für die Erstellung von Präfixen zu verfügen, können Sie mithilfe von VPCCIDRSubnetzreservierungen IP-Speicherplatz innerhalb eines Subnetzes für die ausschließliche Nutzung durch Präfixe reservieren. Sobald Sie eine Reservierung erstellt haben, ruft das VPC CNI Plugin auf, um Präfixe EC2 APIs zuzuweisen, die automatisch aus dem reservierten Bereich zugewiesen werden.

Es wird empfohlen, ein neues Subnetz zu erstellen, Speicherplatz für Präfixe zu reservieren und die Präfixzuweisung VPC CNI für Worker-Knoten zu aktivieren, die in diesem Subnetz laufen. Wenn das neue Subnetz nur für Pods reserviert ist, die in Ihrem EKS Cluster mit aktivierter VPC CNI Präfixzuweisung ausgeführt werden, können Sie den Schritt zur Präfixreservierung überspringen.

Vermeiden Sie ein Downgrade VPC CNI

Der Präfixmodus funktioniert mit VPC CNI Version 1.9.0 und höher. Ein Downgrade des VPC CNI Amazon-Add-ons auf eine niedrigere Version als 1.9.0 muss vermieden werden, sobald der Präfixmodus aktiviert und Präfixe zugewiesen wurden. ENIs Sie müssen Knoten löschen und neu erstellen, wenn Sie sich für ein Downgrade von entscheiden. VPC CNI

Ersetzen Sie alle Knoten während der Umstellung auf die Präfix-Delegierung

Es wird dringend empfohlen, neue Knotengruppen zu erstellen, um die Anzahl der verfügbaren IP-Adressen zu erhöhen, anstatt bestehende Worker-Knoten fortlaufend zu ersetzen. Sperren und entleeren Sie alle vorhandenen Knoten, um all Ihre vorhandenen Pods sicher zu entfernen. Um Serviceunterbrechungen zu vermeiden, empfehlen wir, Pod-Disruption-Budgets für Ihre Produktionscluster für kritische Workloads zu implementieren. Pods auf neuen Knoten wird eine IP anhand eines Präfixes zugewiesen, das einem zugewiesen ist. ENI Nachdem Sie bestätigt haben, dass die Pods ausgeführt werden, können Sie die alten Knoten und Knotengruppen löschen. Wenn Sie verwaltete Knotengruppen verwenden, folgen Sie bitte den hier genannten Schritten, um eine Knotengruppe sicher zu löschen.

📝 Bearbeiten Sie diese Seite auf GitHub