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 unter, 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 Support zu ermöglichen. Berücksichtigen Sie die folgenden Kriterien, um sicherzustellen, dass der ausgewählte Instance-Typ mit Amazon EKS kompatibel ist.
-
Nicht alle Amazon-EKS-AMIs unterstützen derzeit die
mac-Familie. -
Arm und nicht beschleunigte Amazon-EKS-AMIs unterstützen die Familien
g3,g4,infundpnicht. -
Beschleunigte Amazon-EKS-AMIs unterstützen die Familien
a,c,hpc,mundt. -
Für Arm-based Instances unterstützt Amazon Linux 2023 (AL2023) nur Instance-Typen, die Graviton2-Prozessoren oder neuere Prozessoren verwenden. AL2023 unterstützt keine
A1-Instances.
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, überprüfen Sie die für Amazon-EKS-optimierten Arm-Amazon-Linux-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. Informationen dazu, wie die maximale Anzahl von Pods für einen Instance-Typ bestimmt wird, finden Sie unterWie wird MaxPods bestimmt.
AWS Nitro
System-Instanztypen unterstützen optional deutlich mehr IP-Adressen als Instanztypen, die nicht von Nitro Systems stammen. 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 Informationen zu IPv6-Adressen für Cluster, Pods und Services. - 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 Zuweisung von IPs zu Pods mit Amazon VPC CNI. 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 (von der höchsten zur niedrigsten):
-
Durchsetzung verwalteter Knotengruppen — Wenn Sie eine verwaltete Knotengruppe ohne ein benutzerdefiniertes AMI verwenden, erzwingt Amazon EKS eine Obergrenze für die Benutzerdaten des Knotens.
maxPodsFür Instances mit weniger als 30 vCPUs beträgt die Obergrenze.110Für Instances mit mehr als 30 vCPUs beträgt die Obergrenze.250Dieser Wert hat Vorrang vor allen anderenmaxPodsKonfigurationen, einschließlich.maxPodsExpression -
maxPodsKubelet-Konfiguration — Wenn SiemaxPodsdirekt in der Kubelet-Konfiguration festlegen (z. B. über eine Startvorlage mit einem benutzerdefinierten AMI), hat dieser Wert Vorrang vor.maxPodsExpression -
nodeadm
maxPodsExpression— Wenn SiemaxPodsExpressionin your verwenden, wertet nodeadm den zu berechnenden NodeConfigAusdruck aus.maxPodsDies ist nur wirksam, wenn der Wert nicht bereits von einer Quelle mit höherer Priorität festgelegt wurde. -
ENI-based Standardberechnung — Wenn kein anderer Wert festgelegt ist, berechnet das AMI auf der
maxPodsGrundlage der Anzahl der elastischen Netzwerkschnittstellen und IP-Adressen, die vom Instance-Typ unterstützt werden. Dies entspricht der Formel(number of ENIs × (IPs per ENI − 1)) + 2. Die+ 2Konten für das Amazon VPC-CNI undkube-proxylaufen auf allen Knoten, die keine Pod-IP-Adresse verbrauchen.
Wichtig
Wenn Sie eine verwaltete Knotengruppe verwenden und Ihre festlegen maxPodsExpressionNodeConfig, hat die Durchsetzung der verwalteten Knotengruppe Vorrang vor Ihrem Ausdruck. Um einen benutzerdefinierten maxPods Wert für verwaltete 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. -
Alles,
maxPodsExpressionwas Sie konfigurieren, wird durch diesen injizierten Wert überschrieben. -
Um einen anderen
maxPodsWert zu verwenden, geben Sie ein benutzerdefiniertes AMI in Ihrer Startvorlage an und übergeben Sie--use-max-pods falsees--kubelet-extra-args '--max-pods=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 weiterleiten. 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
-
number of ENIs × (IPs per ENI − 1)