Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
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.
Auswahl eines optimalen Amazon-EC2-Knoten-Instance-Typs
Amazon EC2 bietet eine große Auswahl an Instance-Typen für Worker-Knoten. Jeder Instance-Typ bietet andere Merkmale in Bezug auf Datenverarbeitung, Arbeitsspeicher, Speicher und Netzwerkfunktionen. Jede Instance wird abhängig von diesen Eigenschaften auch in Instance-Familien eingeordnet. Eine Liste finden Sie unter Verfügbare Instance-Typen im Amazon-EC2-Benutzerhandbuch. Amazon EKS veröffentlicht mehrere Varianten von Amazon EC2 AMIs , um den Support zu ermöglichen. Berücksichtigen Sie die folgenden Kriterien, um sicherzustellen, dass der ausgewählte Instance-Typ mit Amazon EKS kompatibel ist.
-
Alle Amazon EKS unterstützen die
macFamilie derzeit AMIs nicht. -
Arm und Amazon EKS ohne Beschleunigung unterstützen die
pFamilieng3,g4inf, und AMIs nicht. -
Accelerated Amazon EKS unterstützt die
tFamilienac,hpc,m, und AMIs nicht. -
Für ARM-basierte Instances unterstützt Amazon Linux 2023 (AL2023) nur Instance-Typen, die Graviton2-Prozessoren oder neuere Prozessoren verwenden. AL2023 unterstützt keine Instances.
A1
Berücksichtigen Sie bei der Auswahl zwischen Instance-Typen, die von Amazon EKS unterstützt werden, die folgenden Funktionen jedes Typs.
- Anzahl der Instances in einer Knotengruppe
-
Im Allgemeinen sind weniger, dafür größere Instances vorzuziehen, insbesondere wenn Sie über viele Daemonsets verfügen. Jede Instance erfordert API-Aufrufe an den API-Server. Je mehr Instances Sie haben, desto mehr Last auf dem API-Server.
- Betriebssystem
-
Überprüfen Sie die unterstützten Instance-Typen für Linux, Windows und Bottlerocket
. Lesen Sie vor dem Erstellen von Windows-Instances den Abschnitt Bereitstellen von Windows-Knoten in EKS-Clustern. - Hardware-Architektur
-
Benötigen Sie x86 oder Arm? Bevor Sie Arm-Instances bereitstellen, sollten Sie sich mit dem für Amazon EKS optimierten Arm Amazon Linux vertraut machen AMIs. Benötigen Sie Instances, die auf dem Nitro-System (Linux oder Windows) basieren oder über Beschleunigte Funktionen verfügen? Wenn Sie beschleunigte Funktionen benötigen, können Sie Linux nur mit Amazon EKS verwenden.
- Maximale Anzahl an Pods
-
Da jedem Pod eine eigene IP-Adresse zugewiesen wird, ist die Anzahl der IP-Adressen für einen Instance-Typ ein Faktor bei der Bestimmung der Anzahl der Pods, die auf der Instance ausgeführt werden können. Um manuell zu bestimmen, wie viele Pods ein Instance-Typ unterstützt, lesen Sie .
AWS Nitro System-Instance-Typen
unterstützen optional deutlich mehr IP-Adressen als Instance-Typen, die nicht zu Nitro System gehören. Allerdings stehen Pods nicht alle IP-Adressen zur Verfügung, die einer Instance zugewiesen wurden. Um Ihren Instances eine deutlich größere Anzahl von IP-Adressen zuzuweisen, müssen Sie Version 1.9.0oder höher des Amazon VPC CNI-Add-ons in Ihrem Cluster installiert und entsprechend konfiguriert haben. Weitere Informationen finden Sie unter Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten. Um Ihren Instances die größte Anzahl von IP-Adressen zuzuweisen, müssen Sie Version1.10.1oder höher des Amazon VPC CNI-Add-ons in Ihrem Cluster installiert haben und den Cluster mit derIPv6-Familie bereitstellen. - IP-Familie
-
Sie können jeden unterstützten Instance-Typ verwenden, wenn Sie die
IPv4-Familie für einen Cluster nutzen, was es Ihrem Cluster ermöglicht, Ihren Pods und Services privateIPv4-Adressen zuzuweisen. Wenn Sie jedoch dieIPv6-Familie für Ihren Cluster verwenden möchten, müsste Sie die AWS -Nitro-System-Instance-Typen oder Bare-Metal-Instance-Typen verwenden. Nur IPv4wird für Windows-Instances unterstützt. Ihr Cluster muss auf dem Version1.10.1oder höher des Amazon-VPC-CNI-Add-ons ausgeführt wird. Weitere Informationen zur Verwendung vonIPv6finden Sie unter Erfahren Sie mehr über IPv6 Adressen für Cluster, Pods und Dienste. - Version des Amazon-VPC-CNI-Add-Ons, das Sie ausführen
-
Die aktuelle Version des Amazon-CNI-Plugins für Kubernetes
unterstützt diese Instance-Typen . Möglicherweise müssen Sie Ihre Amazon VPC-CNI-Add-on-Version aktualisieren, um die Vorteile der neuesten unterstützten Instance-Typen zu nutzen. Weitere Informationen finden Sie unter Pods mit dem Amazon VPC CNI zuweisen IPs. Die neueste Version unterstützt die neuesten Features für die Verwendung mit Amazon EKS. Frühere Versionen unterstützen nicht alle Feature. Sie können die von verschiedenen Versionen unterstützten Features im Änderungsverlauf auf GitHub anzeigen. - AWS -Region, in der Sie Ihre Knoten erstellen
-
Nicht alle Instanztypen sind in allen Regionen verfügbar. AWS
- Ob Sie Sicherheitsgruppen für Pods verwenden
-
Wenn Sie Sicherheitsgruppen für Pods verwenden, werden nur bestimmte Instance-Typen unterstützt. Weitere Informationen finden Sie unter Einzelnen Pods Sicherheitsgruppen zuweisen.
Wie wird MaxPods bestimmt
Der endgültige maxPods Wert, der auf einen Knoten angewendet wird, hängt von mehreren Komponenten ab, die in einer bestimmten Rangfolge interagieren. Wenn Sie diese Reihenfolge kennen, können Sie unerwartetes Verhalten beim Anpassen maxPods vermeiden.
Rangfolge (vom höchsten zum niedrigsten Wert):
-
Durchsetzung verwalteter Knotengruppen — Wenn Sie eine verwaltete Knotengruppe ohne benutzerdefiniertes AMI verwenden, erzwingt Amazon EKS eine Obergrenze für die Benutzerdaten des Knotens.
maxPodsFür Instances mit weniger als 30 V CPUs beträgt110die Obergrenze. Für Fälle mit mehr als 30 V CPUs beträgt die Obergrenze250. Dieser Wert hat Vorrang vor jeder anderenmaxPodsKonfiguration, einschließlichmaxPodsExpression. -
maxPodsKubelet-Konfiguration — Wenn Sie ihnmaxPodsdirekt in der Kubelet-Konfiguration festlegen (z. B. über eine Startvorlage mit einem benutzerdefinierten AMI), hat dieser Wert Vorrang vor.maxPodsExpression -
nodeadm
maxPodsExpression— Wenn SiemaxPodsExpressionin Ihrem NodeConfigverwenden, wertet nodeadm den zu berechnenden Ausdruck aus.maxPodsDies ist nur wirksam, wenn der Wert nicht bereits von einer Quelle mit höherer Priorität festgelegt wurde. -
ENI-basierte Standardberechnung — Wenn kein anderer Wert festgelegt ist, berechnet das AMI auf der
maxPodsGrundlage der Anzahl der Elastic Network-Schnittstellen und IP-Adressen, die vom Instance-Typ unterstützt werden. Dies entspricht der Formel.(number of ENIs × (IPs per ENI − 1)) + 2Die+ 2Konten für die Amazon VPC CNI, die auf jedem Knotenkube-proxylaufen und keine Pod-IP-Adresse verbrauchen.
Wichtig
Wenn Sie eine verwaltete Knotengruppe verwenden und Ihre angeben maxPodsExpressionNodeConfig, hat die Durchsetzung der verwalteten Knotengruppe Vorrang vor Ihrem Ausdruck. Um einen benutzerdefinierten maxPods Wert mit verwalteten Knotengruppen zu verwenden, müssen Sie in Ihrer Startvorlage ein benutzerdefiniertes AMI angeben und maxPods direkt festlegen. Weitere Informationen finden Sie unter Verwaltete Knoten mit Startvorlagen anpassen.
Verwaltete Knotengruppen im Vergleich zu selbstverwalteten Knoten
Bei verwalteten Knotengruppen (ohne benutzerdefiniertes AMI) fügt Amazon EKS den maxPods Wert in die Bootstrap-Benutzerdaten des Knotens ein. Das bedeutet Folgendes:
-
Der
maxPodsWert ist immer auf110oder250abhängig von der Instance-Größe begrenzt. -
Jeder von
maxPodsExpressionIhnen konfigurierte Wert wird durch diesen injizierten Wert überschrieben. -
Um einen anderen
maxPodsWert zu verwenden, geben Sie ein benutzerdefiniertes AMI in Ihrer Startvorlage an--use-max-pods falseund übergeben--kubelet-extra-args '--max-pods=es an dasmy-value'bootstrap.shSkript. Beispiele finden Sie unter Verwaltete Knoten mit Startvorlagen anpassen.
Bei selbstverwalteten Knoten haben Sie die volle Kontrolle über den Bootstrap-Prozess. Sie können es maxPodsExpression in Ihrem verwenden NodeConfig oder --max-pods direkt an übergeben. bootstrap.sh
Überlegungen zu EKS Auto Mode
EKS Auto Mode begrenzt die Anzahl der Pods auf Knoten auf den niedrigeren der folgenden Werte:
-
110 Pods, feste Obergrenze
-
Das Ergebnis der oben beschriebenen Berechnung der maximalen Anzahl von Pods.