Auswählen eines Amazon-EC2-Instance-Typs - Amazon EKS

Auswählen eines Amazon-EC2-Instance-Typs

Jeder Amazon-EC2-Instance-Typ bietet unterschiedliche Rechenleistung, Arbeitsspeicher-, Speicher und Netzwerk-Kapazität und wird abhängig von diesen Eigenschaften in Instance-Familien eingeordnet.

Berücksichtigen Sie die folgenden Kriterien, bevor Sie einen Instanztypen für eine Knotengruppe auswählen.

  • Anzahl von 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 mehr Last auf dem API-Server.

  • Betriebssystem – Überprüfen Sie die unterstützten Instance-Typen fürLinux, Windows und Bottlerocket. Bevor Sie Windows-Instances erstellen, lesen Sie Windows-Unterstützung.

  • Hardware-Architektur – Benötigen Sie x86 oder Arm? Sie können Linux nur auf Arm bereitstellen. Bevor Sie Arm-Instances bereitstellen, lesen Sie Amazon EKS-optimierte 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 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. AWS Nitro-System-Instance-Typen unterstützen optional deutlich mehr IP-Adressen als Nicht-Nitro System-Instance-Typen. Pods stehen jedoch nicht alle IP-Adressen zur Verfügung, die einer Instance zugewiesen wurden. Um zu bestimmen, wie viele Pods ein Instance-Typ unterstützt, siehe Von Amazon EKS empfohlene maximale Pods für jeden Amazon-EC2-Instance-Typ. Um Ihren Instances eine deutlich größere Anzahl von IP-Adressen zuzuweisen, müssen Sie Version 1.9.0 oder höher des Amazon VPC CNI-Add-ons in Ihrem Cluster installiert und entsprechend konfiguriert haben. Weitere Informationen finden Sie unter Erhöhen Sie die Anzahl der verfügbaren IP-Adressen für Ihre Amazon-EC2-Knoten. Um Ihren Instances die größte Anzahl von IP-Adressen zuzuweisen, müssen Sie Version 1.10.1 oder höher des Amazon VPC CNI-Add-ons in Ihrem Cluster 1.21 oder höher installiert haben und den Cluster mit der IPv6-Familie bereitstellen.

  • IP-Familie – Sie können jeden unterstützten Instance-Typ verwenden, wenn Sie die IPv4-Produktfamilie für einen Cluster verwenden, der es Ihrem Cluster ermöglicht, Ihren Pods und Diensten private IPv4-Adressen zuzuweisen, aber wenn Sie die IPv6-Familie für Ihren Cluster verwenden möchten, müssen Sie AWS Nitro System-Instance-Typen, die Linux ausführen, verwenden. Nur IPv4 wird für Windows-Instances unterstützt. Ihr Cluster muss ein neuer Cluster 1.21 oder höher sein, auf dem Version 1.10.1 oder höher des Amazon VPC CNI-Add-ons ausgeführt wird. Weitere Informationen zur Verwendung von IPv6 finden Sie unter Ihren Pods und Services IPv6-Adressen zuweisen.

  • Version des Amazon VPC CNI-Add-ons, das Sie ausführen – Die neueste Version des Amazon VPC CNI-Plugin für Kubernetesunterstü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 Aktualisieren des selbstverwalteten Amazon-VPC-CNI-Add-ons. Die neueste Version unterstützt die neuesten Funktionen für die Verwendung mit Amazon EKS. Frühere Versionen unterstützen nicht alle Funktionen. Sie können die von verschiedenen Versionen unterstützten Funktionen im Änderungsverlauf auf GitHub anzeigen.

  • AWS-Region, in der Sie Ihre Knoten erstellen – Nicht alle Instance-Typen sind in allen AWS-Regionen verfügbar.

  • Wenn Sie Sicherheitsgruppen für Pods verwenden – Wenn ja, werden nur bestimmte Instance-Typen unterstützt. Weitere Informationen finden Sie unter Von Amazon EC2 unterstützte Instances und Zweigstellennetzwerkschnittstellen.

Von Amazon EKS empfohlene maximale Pods für jeden Amazon-EC2-Instance-Typ

Amazon EKS stellt ein Skript bereit, das Sie herunterladen und ausführen können, um die von Amazon EKS empfohlene maximale Anzahl von Pods zur Ausführung auf jedem Instance-Typ zu bestimmen. Das Skript verwendet Hardwareattribute jeder Instance und Konfigurationsoptionen, um die maximale Pod-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 Instanz zu aktivieren und die Anzahl der IP-Adressen für Ihre Instanz erheblich zu erhöhen.

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

    curl -o max-pods-calculator.sh https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/files/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 m5.large durch den Instance-Typ, den Sie bereitstellen möchten, und 1.9.0-eksbuild.1 durch Ihre Amazon-VPC-CNI-Add-on-Version. Eine Liste einiger möglicher Instance-Typen finden Sie unter eni-max-pods.txt auf GitHub. Informationen zum Ermitteln der Add-on-Version finden Sie in den Update-Verfahren unter Verwalten des Amazon VPC CNI-Add-ons.

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

    Ausgabe

    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 Benutzerdefinierte CNI-Netzwerke. 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 und der Version 1.9.0 oder höher des Amazon VPC CNI-Add-ons ausgeführt wird. Weitere Informationen finden Sie unter Erhöhen Sie die Anzahl der verfügbaren IP-Adressen für Ihre Amazon-EC2-Knoten. 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.