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á.
Seletor de instâncias
O eksctl suporta a especificação de vários tipos de instância para grupos de nós gerenciados e autogerenciados, mas com mais de 270 tipos de EC2 instância, os usuários precisam dedicar algum tempo para descobrir quais tipos de instância seriam adequados para seu grupo de nós. É ainda mais difícil usar instâncias spot porque você precisa escolher um conjunto de instâncias que funcione bem em conjunto com o autoescalador de cluster.
O eksctl agora se integra ao seletor de EC2 instâncias
Crie grupos de clusters e nós
Para criar um cluster com um único grupo de nós que usa tipos de instância correspondentes aos critérios de recursos do seletor de instâncias passados para eksctl, execute
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
Isso criará um cluster e um grupo de nós gerenciado com o instanceTypes
campo definido como [c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium]
(o conjunto de tipos de instância retornados pode mudar).
Para grupos de nós não gerenciados, o instancesDistribution.instanceTypes
campo será definido:
eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4
Os critérios do seletor de instâncias também podem ser especificados em: 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
As seguintes opções de CLI do seletor de instância são suportadas por eksctl create cluster
e: eksctl create nodegroup
--instance-selector-vcpus
, --instance-selector-memory
, --instance-selector-gpus
e instance-selector-cpu-architecture
Um arquivo de exemplo pode ser encontrado aqui
Corrida a seco
O recurso dry-run permite que você inspecione e altere as instâncias correspondentes ao seletor de instâncias antes de continuar com a criação de um grupo de nós.
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
O gerado ClusterConfig pode então ser passado paraeksctl create cluster
:
eksctl create cluster -f generated-cluster.yaml
O instanceSelector
campo que representa as opções da CLI também será adicionado ao ClusterConfig arquivo para fins de visibilidade e documentação. Quando --dry-run
for omitido, esse campo será ignorado e o instanceTypes
campo será usado, caso contrário, qualquer alteração será substituída pelo instanceTypes
eksctl.
Quando um ClusterConfig arquivo é passado com--dry-run
, eksctl exibirá um ClusterConfig arquivo contendo o mesmo conjunto de grupos de nós após expandir os critérios de recurso do seletor de instâncias de cada grupo de nós.
# 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 # ...