Pemilih Instance - Panduan Pengguna Eksctl

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemilih Instance

eksctl mendukung penentuan beberapa tipe instance untuk nodegroup yang dikelola dan dikelola sendiri, tetapi dengan lebih dari 270 tipe instans, pengguna harus meluangkan waktu untuk mencari tahu tipe EC2 instance mana yang cocok untuk nodegroup mereka. Ini bahkan lebih sulit ketika menggunakan instance Spot karena Anda perlu memilih satu set instance yang bekerja sama dengan baik dengan Cluster Autoscaler.

eksctl sekarang terintegrasi dengan pemilih EC2 instance, yang mengatasi masalah ini dengan menghasilkan daftar jenis instance berdasarkan kriteria sumber daya: vCPUs, memori, # of dan arsitektur CPU. GPUs Saat kriteria pemilih instance diteruskan, eksctl membuat nodegroup dengan tipe instance yang disetel ke tipe instance yang cocok dengan kriteria yang disediakan.

Buat cluster dan nodegroup

Untuk membuat cluster dengan nodegroup tunggal yang menggunakan tipe instance yang cocok dengan kriteria sumber daya pemilih instance yang diteruskan ke eksctl, jalankan

eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4

Ini akan membuat cluster dan nodegroup terkelola dengan instanceTypes bidang disetel ke [c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium] (kumpulan tipe instance yang dikembalikan dapat berubah).

Untuk nodegroup yang tidak dikelola, instancesDistribution.instanceTypes bidang akan disetel:

eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4

Kriteria pemilih instance juga dapat ditentukan dalam 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

Opsi CLI pemilih contoh berikut didukung oleh eksctl create cluster dan: eksctl create nodegroup

--instance-selector-vcpus,--instance-selector-memory, --instance-selector-gpus dan instance-selector-cpu-architecture

Contoh file dapat ditemukan di sini.

Lari Kering

Fitur dry-run memungkinkan Anda untuk memeriksa dan mengubah instance yang cocok dengan pemilih instance sebelum melanjutkan untuk membuat 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

Yang dihasilkan kemudian ClusterConfig dapat diteruskan keeksctl create cluster:

eksctl create cluster -f generated-cluster.yaml

instanceSelectorBidang yang mewakili opsi CLI juga akan ditambahkan ke ClusterConfig file untuk tujuan visibilitas dan dokumentasi. Kapan --dry-run dihilangkan, bidang ini akan diabaikan dan bidang akan digunakan, jika tidak, perubahan apa pun akan diganti oleh instanceTypes eksctl. instanceTypes

Saat ClusterConfig file diteruskan--dry-run, eksctl akan menampilkan ClusterConfig file yang berisi kumpulan nodegroup yang sama setelah memperluas kriteria sumber daya pemilih instance setiap nodegroup.

# 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 # ...