Wählen Sie einen optimalen EC2 Amazon-Node-Instance-Typ - Amazon EKS

Hilf mit, diese Seite zu verbessern

Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.

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.

Wählen Sie einen optimalen EC2 Amazon-Node-Instance-Typ

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 EC2Amazon-Benutzerhandbuch und Verfügbare Instance-Typen im EC2Amazon-Benutzerhandbuch. Amazon EKS veröffentlicht verschiedene Varianten von Amazon EC2AMIs, um den Support zu ermöglichen. Um sicherzustellen, dass der von Ihnen ausgewählte Instance-Typ mit Amazon kompatibel istEKS, sollten Sie die folgenden Kriterien berücksichtigen.

  • All Amazon unterstützt derzeit EKS AMIs nicht die mac Familien g5g und.

  • Armund nicht beschleunigte Amazon EKS AMIs unterstützt die p Familieng3, g4inf, und nicht.

  • Accelerated Amazon unterstützt die t Familien ac,hpc,m, und EKS AMIs nicht.

  • Für ARM-basierte Instances unterstützt Amazon Linux 2023 (AL2023) nur Instance-Typen, die Prozessoren Graviton2 oder höher verwenden. AL2023 unterstützt keine Instances. A1

Wenn Sie zwischen Instance-Typen wählen, die von Amazon unterstützt werdenEKS, sollten Sie die folgenden Funktionen der einzelnen Typen berücksichtigen.

Anzahl der Instances in einer Knotengruppe

Im Allgemeinen sind weniger, größere Instances besser, besonders wenn Sie viele Daemonsets haben. Jede Instance erfordert API Aufrufe an den API Server. Je mehr Instances Sie haben, desto höher ist die Auslastung des API Servers.

Betriebssystem

Überprüfen Sie die unterstützten Instance-Typen für Linux, Windows und Bottlerocket. Bevor Sie Windows-Instances erstellen, lesen Sie WindowsKnoten auf EKS Clustern bereitstellen.

Hardware-Architektur

Benötigen Sie x86 oder Arm? Bevor Sie Arm-Instances bereitstellen, lesen Sie Amazon hat Arm Amazon Linux EKS optimiert 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 diese nur Linux mit Amazon verwendenEKS.

Maximale Anzahl von 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, siehe Von Amazon EKS empfohlenes Maximum Pods für jeden EC2 Amazon-Instance-Typ.

Anmerkung

Wenn Sie ein für Amazon EKS optimiertes Amazon Linux 2 AMI v20220406 oder eine neuere Version verwenden, können Sie einen neuen Instance-Typ verwenden, ohne auf die neueste Version aktualisieren zu müssenAMI. Für diese AMI berechnet der automatisch den erforderlichen max-pods WertAMIs, wenn er nicht in der eni-max-pods.txt Datei aufgeführt ist. Instance-Typen, die sich derzeit in der Vorschauversion befinden, werden von Amazon möglicherweise EKS standardmäßig nicht unterstützt. Werte max-pods für solche Typen müssen eni-max-pods.txt in unseren noch hinzugefügt werdenAMI.

AWS Nitro System-Instanztypen unterstützen optional deutlich mehr IP-Adressen als Instanztypen, 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.0 oder höher des VPC CNI Amazon-Add-ons in Ihrem Cluster installiert und entsprechend konfiguriert haben. Weitere Informationen finden Sie unter Weisen Sie EKS Amazon-Knoten mehr IP-Adressen mit Präfixen zu. Um Ihren Instances die größte Anzahl an IP-Adressen zuzuweisen, müssen Sie Version 1.10.1 oder höher des VPC CNI Amazon-Add-ons in Ihrem Cluster installiert haben und den Cluster zusammen mit der IPv6 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 private IPv4-Adressen zuzuweisen. Wenn Sie jedoch die IPv6-Familie für Ihren Cluster verwenden möchten, müsste Sie die AWS -Nitro-System-Instance-Typen oder Bare-Metal-Instance-Typen verwenden. Nur IPv4 wird für Windows-Instances unterstützt. Auf Ihrem Cluster muss Version 1.10.1 oder höher des VPC CNI Amazon-Add-ons ausgeführt werden. Weitere Informationen zur Verwendung von IPv6 finden Sie unter Ordnen Sie Clustern und pods Diensten IPv6 Adressen zu.

Version des VPC CNI Amazon-Add-ons, das Sie ausführen

Die neueste Version des VPCCNIAmazon-Plug-ins für Kubernetes unterstützt diese Instance-Typen. Möglicherweise müssen Sie Ihre VPC CNI Amazon-Add-On-Version aktualisieren, um die neuesten unterstützten Instance-Typen nutzen zu können. Weitere Informationen finden Sie unter IPsDem Pods Amazon zuordnen VPC CNI. Die neueste Version unterstützt die neuesten Funktionen für die Verwendung mit AmazonEKS. Frühere Versionen unterstützen nicht alle Features. Sie können die von verschiedenen Versionen unterstützten Features im Änderungsverlauf auf GitHub anzeigen.

AWS-Region in dem Sie Ihre Knoten erstellen

Nicht alle Instance-Typen stehen in allen AWS-Regionen zur Verfügung.

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 Weisen Sie einzelnen pods Sicherheitsgruppen zu.

Von Amazon EKS empfohlenes Maximum Pods für jeden EC2 Amazon-Instance-Typ

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. Amazon EKS stellt ein Skript bereit, das Sie herunterladen und ausführen können, um die von Amazon EKS empfohlene Höchstanzahl für die Ausführung auf jedem Instance-Typ Pods zu ermitteln. Das Skript verwendet Hardwareattribute jeder Instance und Konfigurationsoptionen, um die maximale Pods-Anzahl zu bestimmen. Sie können die in diesen Schritten zurückgegebene Zahl verwenden, um Funktionen wie das Zuweisen von IP-Adressen zu Pods aus einem anderen Subnetz als dem der Instance zu aktivieren und die Anzahl der IP-Adressen für Ihre Instance erheblich zu erhöhen. Wenn Sie eine verwaltete Knotengruppe mit mehreren Instance-Typen verwenden, verwenden Sie einen Wert, der für alle Instance-Typen funktionieren würde.

  1. Laden Sie ein Skript herunter, mit dem Sie die maximale Anzahl von Pods für jeden Instance-Typ berechnen können.

    curl -O https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/templates/al2/runtime/max-pods-calculator.sh
  2. Markieren Sie das Skript auf Ihrem Computer als ausführbar.

    chmod +x max-pods-calculator.sh
  3. Führen Sie das Skript aus und ersetzen Sie es m5.large mit dem Instance-Typ, den Sie bereitstellen möchten, und 1.9.0-eksbuild.1 mit Ihrer VPC CNI Amazon-Zusatzversion. Informationen zum Ermitteln der Add-on-Version finden Sie in den Update-Verfahren unter IPsDem Pods Amazon zuordnen VPC CNI.

    ./max-pods-calculator.sh --instance-type m5.large --cni-version 1.9.0-eksbuild.1

    Eine Beispielausgabe sieht wie folgt aus.

    29

    Sie können dem Skript die folgenden Optionen hinzufügen, um die maximal unterstützten Pods anzuzeigen, wenn optionale Funktionen verwendet werden.

    • --cni-custom-networking-enabled – Verwenden Sie diese Option, wenn Sie IP-Adressen aus einem anderen Subnetz als der Ihrer Instance zuweisen möchten. Weitere Informationen finden Sie unter Bereitstellung pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk. Das Hinzufügen dieser Option zum vorherigen Skript mit denselben Beispielwerten ergibt 20.

    • --cni-prefix-delegation-enabled – Verwenden Sie diese Option, wenn Sie jeder Elastic-Network-Schnittstelle deutlich mehr IP-Adressen zuweisen möchten. Diese Funktion erfordert eine Amazon Linux-Instance, die auf dem Nitro-System läuft, und Version 1.9.0 oder höher des VPC CNI Amazon-Add-ons. Weitere Informationen finden Sie unter Weisen Sie EKS Amazon-Knoten mehr IP-Adressen mit Präfixen zu. Das Hinzufügen dieser Option zum vorherigen Skript mit denselben Beispielwerten ergibt 110.

Sie können das Skript auch mit der Option --help ausführen, um alle verfügbaren Optionen anzuzeigen.

Anmerkung

Das Berechnungsskript für maximale Pods begrenzt den Rückgabewert auf Grundlage von Kubernetes-Skalierbarkeitsschwellenwerten und empfohlenen Einstellungen auf 110. Wenn Ihr Instance-Typ mehr als 30 hatvCPUs, springt dieses Limit auf eine Zahl250, die auf internen Tests des EKS Amazon-Skalierbarkeitsteams basiert. Weitere Informationen finden Sie im Blogbeitrag zum VPCCNIAmazon-Plug-In erhöht die Anzahl der Pods pro Knoten.