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
Tipp
Lernen Sie in Amazon EKS-Workshops
Amazon VPC CNI weist Amazon EC2-Netzwerkschnittstellen 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 Amazon VPC CNI-Add-ons so konfigurieren, dass IPv4- und IPv6-CIDRs zugewiesen werden, anstatt Netzwerkschnittstellen einzelne sekundäre IP-Adressen zuzuweisen.
Der Präfixmodus ist auf IPv6-Clustern standardmäßig aktiviert und ist die einzige unterstützte Option. Das VPC-CNI weist einem Slot auf einem ENI das IPv6-Präfix /80 zu. Weitere Informationen finden Sie im IPv6-Abschnitt dieses Handbuchs.
Im Präfixzuweisungsmodus bleibt die maximale Anzahl an Elastic Network-Schnittstellen pro Instance-Typ gleich, aber Sie können Amazon VPC CNI jetzt so konfigurieren, dass /28 (16 IP-Adressen) IPv4-Adresspräfixe zugewiesen werden, anstatt den Steckplätzen auf den Netzwerkschnittstellen einzelne IPv4-Adressen zuzuweisen. Wenn VPC auf True gesetzt ENABLE_PREFIX_DELEGATION ist, weist CNI einem Pod eine IP-Adresse aus dem Präfix zu, das einer ENI zugewiesen ist. Bitte folgen Sie den Anweisungen im EKS-Benutzerhandbuch, um den Präfix-IP-Modus zu aktivieren.
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-Instance ein Limit von 10 IPv4-Adressen pro Netzwerkschnittstelle. Jede Netzwerkschnittstelle für diese Instance 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 Instance-Typ und zur Zuweisung von Präfixen zu Netzwerkschnittstellen.
Während der Initialisierung des Worker-Knotens weist das VPC-CNI der primären ENI ein oder mehrere Präfixe zu. Das CNI weist vorab ein Präfix für einen schnelleren Pod-Start zu, indem es einen warmen Pool verwaltet. Die Anzahl der Präfixe, die im warmen Pool gespeichert werden sollen, kann durch das Setzen von Umgebungsvariablen gesteuert werden.
-
WARM_PREFIX_TARGET, die Anzahl der Präfixe, die über den aktuellen Bedarf hinaus zugewiesen werden müssen. -
WARM_IP_TARGET, die Anzahl der IP-Adressen, die über den aktuellen Bedarf hinaus zugeteilt werden müssen. -
MINIMUM_IP_TARGET, die Mindestanzahl an IP-Adressen, die jederzeit verfügbar sein müssen. -
WARM_IP_TARGETundMINIMUM_IP_TARGETfalls gesetzt, wird überschriebenWARM_PREFIX_TARGET.
Wenn mehr Pods geplant sind, werden zusätzliche Präfixe für das bestehende ENI angefordert. Zunächst versucht das VPC-CNI, einer vorhandenen ENI ein neues Präfix zuzuweisen. Wenn die ENI voll ausgelastet ist, versucht das VPC-CNI, dem Knoten eine neue ENI zuzuweisen. Neue ENIs werden angehängt, bis das maximale ENI-Limit (definiert durch den Instance-Typ) erreicht ist. Wenn eine neue ENI angehängt wird, weist ipamd ein oder mehrere Präfixe zu, die zur Aufrechterhaltung der EinstellungWARM_PREFIX_TARGET, WARM_IP_TARGET und erforderlich sind. MINIMUM_IP_TARGET
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 auf zusammenhängende Adressblöcke mit dem Präfix /28 zu untersuchen, bevor Sie in den Präfixmodus migrieren. Einzelheiten zur Subnetzreservierung finden Sie im Abschnitt „Subnetzreservierungen verwenden, um eine Subnetzfragmentierung zu vermeiden (IPv4)“.
Aus Gründen der Abwärtskompatibilität ist das https://github.com/aws/amazon-vpc-cni-k8s/blob/master/misc/eni-max-pods.txtmax-pods Wert als Kubelet und --use-max-pods=false als Benutzerdaten für die Knoten an. Weitere Informationen finden Sie im Amazon EKS-Benutzerhandbuch unter So wird MaxPods bestimmt. Im EKS-Benutzerhandbuch finden Sie beispielsweise Benutzerdaten.
./max-pods-calculator.sh --instance-type m5.large --cni-version ``1.9``.0 --cni-prefix-delegation-enabled
Der Präfixzuweisungsmodus ist besonders relevant für Benutzer von benutzerdefinierten CNI-Netzwerken, bei denen die primäre ENI nicht für Pods verwendet wird. Mit der Präfixzuweisung können Sie immer noch mehr IPs an fast jeden Nitro-Instance-Typ anhängen, auch ohne die primäre ENI, die für Pods verwendet wird.
Vermeiden Sie den Präfixmodus, wenn
Wenn Ihr Subnetz stark fragmentiert ist und nicht genügend IP-Adressen zur Verfügung stehen, um /28-Präfixe zu erstellen, vermeiden Sie den Präfixmodus. Das Präfix-Anhängen kann fehlschlagen, wenn das Subnetz, aus dem das Präfix generiert wird, fragmentiert ist (ein stark ausgelastetes 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 der Vorschriften zu gewährleisten, 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 die Verwendung ähnlicher Instanztypen in einer Knotengruppe, um die Knotennutzung zu maximieren. Wir empfehlen, node.kubernetes zu konfigurieren. io/instance-geben Sie
Warnung
Die maximale Pod-Anzahl für alle Knoten in einer bestimmten Knotengruppe wird durch die niedrigste maximale Pod-Anzahl eines einzelnen Instance-Typs in der Knotengruppe definiert.
Konfigurieren Sie WARM_PREFIX_TARGET, um IPv4-Adressen zu speichern
Der Standardwert für das Installationsmanifest für ist 1. WARM_PREFIX_TARGET In den meisten Fällen bietet der empfohlene Wert von 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 die IPv4-Adressen pro Knoten weiter speichern müssen, verwenden Sie diese MINIMUM_IP_TARGET Einstellungen WARM_IP_TARGET und Einstellungen, die bei der Konfiguration außer Kraft gesetzt WARM_PREFIX_TARGET werden. Indem Sie den Wert WARM_IP_TARGET auf einen Wert unter 16 setzen, können Sie verhindern, dass das CNI ein ganzes überzähliges Präfix beibehält.
Weisen Sie lieber neue Präfixe zu, als ein neues ENI anzuhängen
Das Zuweisen eines zusätzlichen Präfixes zu einer vorhandenen ENI ist ein schnellerer EC2-API-Vorgang als das Erstellen und Anhängen einer neuen ENI an die Instance. Die Verwendung von Präfixen verbessert die Leistung und ist gleichzeitig sparsam bei der IPv4-Adresszuweisung. Das Anhängen eines Präfixes ist in der Regel in weniger als einer Sekunde abgeschlossen, wohingegen das Anhängen einer neuen ENI bis zu 10 Sekunden dauern kann. In den meisten Anwendungsfällen benötigt das CNI nur eine einzige ENI pro Worker-Knoten, wenn es im Präfixmodus ausgeführt wird. Wenn Sie sich (im schlimmsten Fall) bis zu 15 ungenutzte IPs pro Knoten leisten können, empfehlen wir dringend, den neueren Netzwerkmodus mit Präfixzuweisung zu verwenden und die damit verbundenen Leistungs- und Effizienzgewinne zu nutzen.
Verwenden Sie Subnetzreservierungen, um eine Subnetzfragmentierung (IPv4) zu vermeiden
Wenn EC2 einer ENI ein /28-IPv4-Präfix zuweist, muss es sich um einen zusammenhängenden 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äfix-Anlage möglicherweise fehl, und in den VPC-CNI-Protokollen wird die folgende Fehlermeldung angezeigt:
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 eine Fragmentierung zu vermeiden und ausreichend Speicherplatz zum Erstellen von Präfixen zu haben, können Sie CIDR-Reservierungen für VPC-Subnetze verwenden, um IP-Speicherplatz innerhalb eines Subnetzes ausschließlich für die Verwendung durch Präfixe zu reservieren. Sobald Sie eine Reservierung erstellt haben, ruft das VPC-CNI-Plugin EC2-APIs auf, um Präfixe zuzuweisen, die automatisch aus dem reservierten Speicherplatz zugewiesen werden.
Es wird empfohlen, ein neues Subnetz zu erstellen, Speicherplatz für Präfixe zu reservieren und die Präfixzuweisung mit VPC CNI für Worker-Knoten zu aktivieren, die in diesem Subnetz laufen. Wenn das neue Subnetz nur Pods gewidmet ist, die in Ihrem EKS-Cluster mit aktivierter VPC-CNI-Präfixzuweisung ausgeführt werden, können Sie den Schritt der Präfixreservierung überspringen.
Vermeiden Sie ein Downgrade von VPC CNI
Der Präfixmodus funktioniert mit VPC CNI Version 1.9.0 und höher. Ein Downgrade des Amazon VPC CNI-Add-ons auf eine Version unter 1.9.0 muss vermieden werden, sobald der Präfixmodus aktiviert ist und den ENIs Präfixe zugewiesen wurden. Sie müssen Knoten löschen und neu erstellen, wenn Sie sich für ein Downgrade des VPC CNI entscheiden.
Ersetzen Sie beim Übergang zur Präfixdelegierung alle Knoten
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 Sie alle vorhandenen Knoten ab und entleeren Sie sie, um alle vorhandenen Pods sicher zu entfernen. Um Serviceunterbrechungen zu vermeiden, empfehlen wir, Pod-Disruption-Budgets