Instans Spot - Panduan Pengguna Eksctl

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

Instans Spot

Grup Nodegroup yang Dikelola

eksctlmendukung node pekerja Spot menggunakan EKS Managed Nodegroups, sebuah fitur yang memungkinkan pelanggan EKS dengan aplikasi toleran kesalahan untuk dengan mudah menyediakan dan mengelola Instans EC2 Spot untuk kluster EKS mereka. EKS Managed Nodegroup akan mengonfigurasi dan meluncurkan grup Instans Spot EC2 Penskalaan Otomatis mengikuti praktik terbaik Spot dan menguras node pekerja Spot secara otomatis sebelum instans terganggu oleh AWS. Tidak ada biaya tambahan untuk menggunakan fitur ini dan pelanggan hanya membayar untuk menggunakan sumber daya AWS, seperti Instans EC2 Spot dan volume EBS.

Untuk membuat klaster dengan nodegroup terkelola menggunakan instance Spot, berikan --spot tanda dan daftar opsional tipe instance:

eksctl create cluster --spot --instance-types=c3.large,c4.large,c5.large

Untuk membuat nodegroup terkelola menggunakan instance Spot pada klaster yang ada:

eksctl create nodegroup --cluster=<clusterName> --spot --instance-types=c3.large,c4.large,c5.large

Untuk membuat instance Spot menggunakan nodegroup terkelola melalui file konfigurasi:

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

Nodegroup yang tidak dikelola tidak mendukung instanceTypes bidang spot and, sebagai gantinya instancesDistribution bidang tersebut digunakan untuk mengonfigurasi instance Spot. Lihat di bawah

Informasi lebih lanjut

Nodegroup Tidak Dikelola

eksctlmemiliki dukungan untuk instans spot melalui MixedInstancesPolicy untuk Grup Auto Scaling.

Berikut adalah contoh nodegroup yang menggunakan 50% instans spot dan 50% instans 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

Perhatikan bahwa nodeGroups.X.instanceType bidang tidak boleh disetel saat menggunakan instancesDistribution bidang.

Contoh ini menggunakan instance GPU:

nodeGroups: - name: ng-gpu instanceType: mixed desiredCapacity: 1 instancesDistribution: instanceTypes: - p2.xlarge - p2.8xlarge - p2.16xlarge maxPrice: 0.50

Contoh ini menggunakan strategi alokasi spot yang dioptimalkan kapasitas:

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"

Contoh ini menggunakan strategi alokasi 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"

Gunakan strategi capacity-optimized-prioritized alokasi dan kemudian atur urutan jenis instance dalam daftar penggantian template peluncuran dari prioritas tertinggi ke prioritas terendah (pertama hingga terakhir dalam daftar). Amazon EC2 Auto Scaling menghormati prioritas jenis instans dengan upaya terbaik tetapi mengoptimalkan kapasitas terlebih dahulu. Ini adalah opsi yang baik untuk beban kerja di mana kemungkinan gangguan harus diminimalkan, tetapi juga preferensi untuk jenis instance tertentu penting.Untuk informasi lebih lanjut, lihat Opsi Pembelian ASG.

Perhatikan bahwa spotInstancePools bidang tidak boleh disetel saat menggunakan spotAllocationStrategy bidang. Jika tidak spotAllocationStrategy ditentukan, EC2 akan default untuk menggunakan lowest-price strategi.

Berikut adalah contoh minimal:

nodeGroups: - name: ng-1 instancesDistribution: instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified

Untuk membedakan node antara instans spot atau on-demand, Anda dapat menggunakan label kubernetes node-lifecycle yang akan memiliki nilai spot atau on-demand tergantung pada jenisnya.

Parameter dalam InstancesDistribution

Silakan lihat skema konfigurasi cluster untuk detailnya.