Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Selettore di istanze
eksctl supporta la specificazione di più tipi di istanze per gruppi di nodi gestiti e autogestiti, ma con oltre 270 tipi di EC2 istanze, gli utenti devono dedicare del tempo a capire quali tipi di istanza sarebbero più adatti al loro gruppo di nodi. È ancora più difficile quando si utilizzano le istanze Spot perché è necessario scegliere un set di istanze che funzioni bene insieme a Cluster Autoscaler.
eksctl ora si integra con il selettore di EC2 istanze
Crea cluster e gruppi di nodi
Per creare un cluster con un singolo gruppo di nodi che utilizzi tipi di istanza corrispondenti ai criteri di risorsa del selettore di istanze passati a eksctl, esegui
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
Questo creerà un cluster e un gruppo di nodi gestito con il instanceTypes
campo impostato su [c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium]
(l'insieme di tipi di istanza restituiti potrebbe cambiare).
Per i gruppi di nodi non gestiti, il instancesDistribution.instanceTypes
campo verrà impostato:
eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4
I criteri del selettore di istanza possono essere specificati anche 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
Le seguenti opzioni CLI del selettore di istanze sono supportate da eksctl create cluster
e: eksctl create nodegroup
--instance-selector-vcpus
, e --instance-selector-memory
--instance-selector-gpus
instance-selector-cpu-architecture
Un file di esempio può essere trovato qui
Dry Run
La funzione dry-run consente di ispezionare e modificare le istanze corrispondenti al selettore di istanze prima di procedere alla creazione di un gruppo di nodi.
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
ClusterConfig Il generato può eksctl create cluster
quindi essere passato a:
eksctl create cluster -f generated-cluster.yaml
Il instanceSelector
campo che rappresenta le opzioni CLI verrà inoltre aggiunto al ClusterConfig file per scopi di visibilità e documentazione. Quando --dry-run
viene omesso, questo campo verrà ignorato e il instanceTypes
campo verrà utilizzato, altrimenti qualsiasi modifica verrà sovrascritta da instanceTypes
eksctl.
Quando viene passato un ClusterConfig file--dry-run
, eksctl produrrà un ClusterConfig file contenente lo stesso set di gruppi di nodi dopo aver ampliato i criteri di risorsa del selettore di istanze di ciascun gruppo di nodi.
# 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 # ...