As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Instâncias spot
Grupos de nós gerenciados
eksctl
suporta nós de trabalhadores Spot usando grupos de nós gerenciados do EKS
Para criar um cluster com um grupo de nós gerenciado usando instâncias spot, passe a --spot
sinalização e uma lista opcional de tipos de instância:
eksctl create cluster --spot --instance-types=c3.large,c4.large,c5.large
Para criar um grupo de nós gerenciado usando instâncias spot em um cluster existente:
eksctl create nodegroup --cluster=<clusterName> --spot --instance-types=c3.large,c4.large,c5.large
Para criar instâncias spot usando grupos de nós gerenciados por meio de um arquivo de configuração:
# 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
Grupos de nós não gerenciados não oferecem suporte aos instanceTypes
campos spot
e, em vez disso, o instancesDistribution
campo é usado para configurar instâncias spot. Veja abaixo
Mais informações
Grupos de nós não gerenciados
eksctl
tem suporte para instâncias spot por meio do MixedInstancesPolicy for Auto Scaling Groups.
Aqui está um exemplo de um grupo de nós que usa 50% de instâncias spot e 50% de instâncias sob demanda:
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
Observe que o nodeGroups.X.instanceType
campo não deve ser definido ao usar o instancesDistribution
campo.
Este exemplo usa instâncias de GPU:
nodeGroups: - name: ng-gpu instanceType: mixed desiredCapacity: 1 instancesDistribution: instanceTypes: - p2.xlarge - p2.8xlarge - p2.16xlarge maxPrice: 0.50
Este exemplo usa a estratégia de alocação spot otimizada para capacidade:
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"
Este exemplo usa a estratégia de alocação 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"
Use a estratégia de capacity-optimized-prioritized
alocação e, em seguida, defina a ordem dos tipos de instância na lista de substituições do modelo de execução da prioridade mais alta para a mais baixa (da primeira à última na lista). O Amazon EC2 Auto Scaling honra as prioridades do tipo de instância com base no melhor esforço, mas otimiza primeiro a capacidade. Essa é uma boa opção para cargas de trabalho em que a possibilidade de interrupção deve ser minimizada, mas também é importante a preferência por determinados tipos de instância. Para obter mais informações, consulte Opções de compra do ASG.
Observe que o spotInstancePools
campo não deve ser definido ao usar o spotAllocationStrategy
campo. Se o não spotAllocationStrategy
for especificado, EC2 usará a lowest-price
estratégia como padrão.
Aqui está um exemplo mínimo:
nodeGroups: - name: ng-1 instancesDistribution: instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified
Para distinguir os nós entre instâncias spot e sob demanda, você pode usar o rótulo kubernetes, node-lifecycle
que terá o valor spot
ou on-demand
dependerá do tipo.
Parâmetros em InstancesDistribution
Consulte o esquema de configuração do cluster para obter detalhes.