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.
Instanzenauswahl
eksctl unterstützt die Angabe mehrerer Instanztypen für verwaltete und selbstverwaltete Knotengruppen. Bei über 270 EC2 Instanztypen müssen Benutzer jedoch Zeit damit verbringen, herauszufinden, welche Instanztypen für ihre Knotengruppe am besten geeignet sind. Bei der Verwendung von Spot-Instances ist es noch schwieriger, da Sie eine Reihe von Instances auswählen müssen, die gut mit dem Cluster Autoscaler zusammenarbeiten.
eksctl ist jetzt in den EC2 Instance-Selektor
Erstellen Sie Cluster und Knotengruppen
Führen Sie folgenden Befehl aus, um einen Cluster mit einer einzelnen Knotengruppe zu erstellen, der Instanztypen verwendet, die den an eksctl übergebenen Ressourcenkriterien für die Instanzauswahl entsprechen
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
Dadurch werden ein Cluster und eine verwaltete Knotengruppe erstellt, wobei das instanceTypes Feld auf gesetzt ist [c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium] (der Satz der zurückgegebenen Instanztypen kann sich ändern).
Für nicht verwaltete Knotengruppen wird das instancesDistribution.instanceTypes Feld wie folgt gesetzt:
eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4
Die Kriterien für die Instanzauswahl können auch angegeben werden in: ClusterConfig
# instance-selector-cluster.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 nodeGroups: - name: ng instanceSelector: vCPUs: 2 memory: "4" # 4 GiB, unit defaults to GiB managedNodeGroups: - name: mng instanceSelector: vCPUs: 2 memory: 2GiB # cpuArchitecture: x86_64 # default value
eksctl create cluster -f instance-selector-cluster.yaml
Die folgenden CLI-Optionen für die Instanzauswahl werden von eksctl create cluster und eksctl create nodegroup unterstützt:
--instance-selector-vcpus, --instance-selector-memory und --instance-selector-gpus instance-selector-cpu-architecture
Eine Beispieldatei finden Sie hier
Probelauf
Mit der Dry-Run-Funktion können Sie die Instanzen überprüfen und ändern, denen die Instanzauswahl entspricht, bevor Sie mit der Erstellung einer Knotengruppe fortfahren.
eksctl create cluster --name development --instance-selector-vcpus=2 --instance-selector-memory=4 --dry-run apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig # ... managedNodeGroups: - amiFamily: AmazonLinux2 instanceSelector: memory: "4" vCPUs: 2 instanceTypes: - c5.large - c5a.large - c5ad.large - c5d.large - t2.medium - t3.medium - t3a.medium ... # other config
Die generierten Daten ClusterConfig können dann übergeben werden an: eksctl create cluster
eksctl create cluster -f generated-cluster.yaml
Das instanceSelector Feld, das die CLI-Optionen darstellt, wird der ClusterConfig Datei aus Gründen der Sichtbarkeit und Dokumentation ebenfalls hinzugefügt. Wenn --dry-run es weggelassen wird, wird dieses Feld ignoriert und das instanceTypes Feld wird verwendet, andernfalls instanceTypes würden alle Änderungen an von eksctl überschrieben.
Wenn eine ClusterConfig Datei mit übergeben wird, gibt eksctl eine ClusterConfig Datei aus--dry-run, die denselben Satz von Knotengruppen enthält, nachdem die Ressourcenkriterien für die Instanzauswahl jeder Knotengruppe erweitert wurden.
# instance-selector-cluster.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 nodeGroups: - name: ng instanceSelector: vCPUs: 2 memory: 4 # 4 GiB, unit defaults to GiB managedNodeGroups: - name: mng instanceSelector: vCPUs: 2 memory: 2GiB # cpuArchitecture: x86_64 # default value
eksctl create cluster -f instance-selector-cluster.yaml --dry-run apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig # ... managedNodeGroups: - amiFamily: AmazonLinux2 # ... instanceSelector: cpuArchitecture: x86_64 memory: 2GiB vCPUs: 2 instanceTypes: - t3.small - t3a.small nodeGroups: - amiFamily: AmazonLinux2 # ... instanceSelector: memory: "4" vCPUs: 2 instanceType: mixed instancesDistribution: capacityRebalance: false instanceTypes: - c5.large - c5a.large - c5ad.large - c5d.large - t2.medium - t3.medium - t3a.medium # ...