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à.
Istanze Spot
Gruppi di nodi gestiti
eksctl
supporta i nodi di lavoro Spot utilizzando EKS Managed Nodegroups
Per creare un cluster con un gruppo di nodi gestito utilizzando istanze Spot, passa il --spot
flag e un elenco opzionale di tipi di istanze:
eksctl create cluster --spot --instance-types=c3.large,c4.large,c5.large
Per creare un gruppo di nodi gestito utilizzando istanze Spot su un cluster esistente:
eksctl create nodegroup --cluster=<clusterName> --spot --instance-types=c3.large,c4.large,c5.large
Per creare istanze Spot utilizzando gruppi di nodi gestiti tramite un file di configurazione:
# spot-cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: spot-cluster region: us-west-2 managedNodeGroups: - name: spot instanceTypes: ["c3.large","c4.large","c5.large","c5d.large","c5n.large","c5a.large"] spot: true # `instanceTypes` defaults to [`m5.large`] - name: spot-2 spot: true # On-Demand instances - name: on-demand instanceTypes: ["c3.large", "c4.large", "c5.large"]
eksctl create cluster -f spot-cluster.yaml
Nota
I gruppi di nodi non gestiti non supportano i instanceTypes
campi spot
and, ma il instancesDistribution
campo viene utilizzato per configurare le istanze Spot. Vedi sotto
Ulteriori informazioni
Gruppi di nodi non gestiti
eksctl
supporta le istanze spot tramite i gruppi MixedInstancesPolicy di Auto Scaling.
Ecco un esempio di nodegroup che utilizza il 50% di istanze spot e il 50% di istanze on demand:
nodeGroups: - name: ng-1 minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotInstancePools: 2
Nota che il nodeGroups.X.instanceType
campo non deve essere impostato quando si utilizza il campo. instancesDistribution
Questo esempio utilizza istanze GPU:
nodeGroups: - name: ng-gpu instanceType: mixed desiredCapacity: 1 instancesDistribution: instanceTypes: - p2.xlarge - p2.8xlarge - p2.16xlarge maxPrice: 0.50
Questo esempio utilizza la strategia di allocazione spot ottimizzata per la capacità:
nodeGroups: - name: ng-capacity-optimized minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotAllocationStrategy: "capacity-optimized"
Questo esempio utilizza la strategia di allocazione capacity-optimized-prioritized spot:
nodeGroups: - name: ng-capacity-optimized-prioritized minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3a.small", "t3.small"] # At least two instance types should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 0 spotAllocationStrategy: "capacity-optimized-prioritized"
Utilizza la strategia di capacity-optimized-prioritized
allocazione e quindi imposta l'ordine dei tipi di istanza nell'elenco delle sostituzioni dei modelli di lancio dalla priorità più alta a quella più bassa (dalla prima all'ultima nell'elenco). Amazon EC2 Auto Scaling rispetta le priorità dei tipi di istanza con la massima diligenza, ma ottimizza innanzitutto la capacità. Questa è una buona opzione per i carichi di lavoro in cui è necessario ridurre al minimo la possibilità di interruzioni, ma è importante anche la preferenza per determinati tipi di istanze. Per ulteriori informazioni, consulta ASG Purchase Options.
Nota che il spotInstancePools
campo non deve essere impostato quando si utilizza il campo. spotAllocationStrategy
Se non spotAllocationStrategy
è specificato, per impostazione predefinita EC2 utilizzerà la lowest-price
strategia.
Ecco un esempio minimo:
nodeGroups: - name: ng-1 instancesDistribution: instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified
Per distinguere i nodi tra istanze spot o on-demand, puoi usare l'etichetta Kubernetes node-lifecycle
che avrà il valore spot
o on-demand
dipenderà dal tipo.
Parametri in InstancesDistribution
Consulta lo schema di configurazione del cluster per i dettagli.