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âncias para grupos de nós gerenciados e autogerenciados, mas com mais de 270 tipos de instância do EC2, os usuários precisam gastar tempo descobrindo 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 instâncias do EC2
Crie clusters e grupos de nós
Para criar um cluster com um único nodegroup que usa tipos de instância correspondidos 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 retornado 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âncias 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 exemplo de arquivo pode ser encontrado aqui
Corrida a seco
O recurso de execução a seco permite que você inspecione e altere as instâncias correspondentes ao seletor de instâncias antes de prosseguir com a criação de um nodegroup.
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 usado, caso contrário, qualquer alteração será substituída pelo instanceTypes eksctl. instanceTypes
Quando um ClusterConfig arquivo é passado com--dry-run, o eksctl gera um ClusterConfig arquivo contendo o mesmo conjunto de grupos de nós depois de expandir os critérios de recursos 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 # ...