Saat membuat pod Elastic Container Instance dengan menentukan jumlah vCPU dan ukuran memori, Anda mungkin memerlukan tipe instans Elastic Compute Service (ECS) tertentu—misalnya, hanya ingin menggunakan keluarga instans ECS generasi keenam seperti g6 atau c6. Dalam kasus ini, Anda dapat menambahkan anotasi k8s.aliyun.com/eci-instance-generation untuk menentukan generasi yang diinginkan dari keluarga instans ECS. Topik ini menjelaskan cara menentukan atau mengecualikan generasi tertentu dari keluarga instans ECS saat membuat pod.
Deskripsi fitur
Saat membuat pod Elastic Container Instance dengan menentukan jumlah vCPU dan ukuran memori, sistem menggunakan berbagai tipe instans ECS untuk mendukung pembuatan pod dan secara otomatis memilih tipe instans yang memenuhi persyaratan vCPU dan memori serta memiliki sumber daya yang mencukupi. Dalam skenario ini, Anda dapat menambahkan anotasi k8s.aliyun.com/eci-instance-generation untuk menentukan atau mengecualikan generasi tertentu dari keluarga instans ECS.
Jika Anda menentukan generasi tertentu dari keluarga instans ECS, sistem hanya akan memilih tipe instans ECS dari generasi tersebut. Jika sumber daya dari generasi yang ditentukan tidak mencukupi, sistem tidak akan membuat pod.
Jika Anda mengecualikan generasi tertentu dari keluarga instans ECS, sistem akan memilih tipe instans ECS dari generasi lain yang didukung oleh Elastic Container Instance untuk membuat pod.
Tabel berikut menjelaskan generasi keluarga instans ECS yang dapat Anda tentukan atau kecualikan saat membuat pod, serta keluarga instans ECS dari masing-masing generasi tersebut.
Arsitektur | Generasi keluarga instans ECS | Keluarga instans ECS |
Arm | 8 | g8y, c8y, dan r8y |
|
x86 |
8 |
g8i, c8i, r8i, hfg8i, hfc8i, dan hfr8i |
7 | g7, c7, r7, hfg7, hfc7, hfr7, dan g7ne | |
6 |
g6e, g6, c6e, c6, r6e, r6, hfc6, hfg6 |
|
5 | u1, g5, g5ne, c5, r5, ic5, hfc5, dan hfg5 | |
4 | sn2ne, sn1ne, se1ne, dan se1 |
Untuk informasi lebih lanjut mengenai tipe instans ECS, lihat topik berikut:
Perhatian
Pod yang dibuat berdasarkan generasi tertentu dari keluarga instans ECS akan ditagih berdasarkan tipe instans ECS yang benar-benar digunakan, bukan berdasarkan jumlah vCPU dan ukuran memori yang ditentukan.
PentingSetelah pod dibuat, Anda dapat menjalankan perintah
kubectl describe poduntuk melihat detail YAML pod tersebut. Nilai bidangk8s.aliyun.com/eci-instance-specmenunjukkan tipe instans ECS yang digunakan oleh pod. Penagihan pod didasarkan pada tipe instans ECS tersebut.Saat Anda menentukan atau mengecualikan generasi tertentu dari keluarga instans ECS, sistem tidak dapat secara otomatis memilih tipe instans tertentu, termasuk tipe instans GPU-accelerated seperti pada keluarga instans gn6i dan tipe instans dengan disk lokal seperti pada keluarga instans i2g. Jika Anda ingin membuat pod menggunakan tipe instans ECS tertentu, tentukan langsung tipe instans tersebut. Untuk informasi lebih lanjut, lihat Tentukan tipe instans ECS untuk membuat pod.
Anda dapat menentukan atau mengecualikan generasi tertentu dari keluarga instans ECS untuk membuat instance container elastis preemptible. Dalam skenario ini, sistem memilih tipe instans ECS yang paling sesuai berdasarkan harga pasar dan urutan generasi keluarga instans ECS yang Anda konfigurasikan. Jika Anda memiliki persyaratan ketat terhadap generasi keluarga instans ECS, kami menyarankan agar Anda hanya menentukan satu generasi.
Fitur penentuan atau pengecualian generasi tertentu dari keluarga instans ECS hanya berlaku saat Anda membuat pod dengan menentukan jumlah vCPU dan ukuran memori. Jika Anda terlebih dahulu menentukan tipe instans ECS saat membuat pod, fitur ini tidak akan berlaku.
Deskripsi konfigurasi
Nilai valid untuk k8s.aliyun.com/eci-instance-generation adalah generasi keluarga instans ECS. Perhatikan hal-hal berikut:
Anda dapat mengonfigurasi beberapa generasi. Nilai valid adalah generasi keluarga instans ECS yang dapat digunakan untuk membuat pod.
PentingKeluarga instans ECS generasi kedelapan hanya mendukung arsitektur Arm. Untuk membuat pod menggunakan keluarga instans ECS generasi kedelapan, Anda harus menentukan bidang nodeSelector untuk menjadwalkan pod ke node virtual berbasis Arm. Anda tidak dapat menggunakan keluarga instans ECS generasi ke-8 bersamaan dengan yang menggunakan arsitektur x86. Saat membuat pod berbasis Arm, Anda tidak perlu menentukan atau mengecualikan generasi tertentu dari keluarga instans ECS—misalnya, Anda tidak perlu mengecualikan keluarga instans ECS generasi ke-8. Untuk informasi lebih lanjut, lihat Jadwalkan pod ke node virtual berbasis Arm dan Tipe instans ECS arsitektur Arm.
Jika Anda menambahkan tanda minus (
-) sebelum generasi keluarga instans ECS, generasi tersebut akan dikecualikan.Misalnya,
k8s.aliyun.com/eci-instance-generation: "-5,-4"menentukan bahwa keluarga instans ECS generasi kelima dan keempat dikecualikan, sehingga sistem akan menggunakan keluarga instans ECS generasi ketujuh atau keenam.Sistem memilih generasi yang ditentukan berdasarkan urutan penentuannya.
Misalnya, anotasi
k8s.aliyun.com/eci-instance-generation: "6,5"menentukan bahwa sistem akan memprioritaskan penggunaan keluarga instans ECS generasi keenam. Jika sumber daya keluarga instans ECS generasi keenam yang memenuhi spesifikasi vCPU dan memori yang diperlukan tidak mencukupi, sistem akan menggunakan keluarga instans ECS generasi kelima. Jika sumber daya keluarga instans ECS generasi kelima juga tidak mencukupi, pod tidak akan dibuat.
Sebelum menggunakan anotasi k8s.aliyun.com/eci-instance-generation, Anda harus menentukan jumlah vCPU dan ukuran memori dengan salah satu metode berikut:
Menentukan parameter limits atau requests pada kontainer. Kami menyarankan agar Anda menentukan parameter limits.
Menambahkan anotasi
k8s.aliyun.com/eci-use-specske metadata pod.