Untuk kluster besar atau beban kerja yang sensitif terhadap latensi di mana node auto scaling tidak mencukupi, aktifkan node instant scaling guna memperoleh penyediaan node yang lebih cepat dengan biaya lebih rendah.
Sebelum memulai
Tinjau node scaling untuk memahami konsep-konsep berikut:
-
Cara kerja node instant scaling
-
Manfaat dan kasus penggunaan yang didukung
-
Catatan penggunaan
-
Untuk menghindari biaya tak terduga, gunakan instans pay-as-you-go. Saat scale-in, instans subscription akan dihapus dari kluster tetapi tidak dilepas dari akun Anda.
Prasyarat dan batasan
-
Sebuah ACK managed cluster atau ACK dedicated cluster yang menjalankan Kubernetes 1.24 atau versi lebih baru. Lihat Tingkatkan kluster secara manual.
-
Auto Scaling telah diaktifkan.
-
vSwitch untuk kelompok node node instant scaling harus memiliki alamat IP yang mencukupi. Panggil DescribeVSwitchAttributes untuk memeriksa jumlah IP yang tersedia.
Jika alamat IP tidak mencukupi, lihat Perluas kapasitas IP kluster dengan menambahkan blok CIDR secondary.
-
Node instant scaling hanya berfungsi dengan kelompok node yang menggunakan Standard Scaling Mode. Mode Swift tidak didukung.
-
Pada ACK GOATScaler v0.5.2 atau versi sebelumnya, hapus node offline secara manual. Lihat FAQ.
-
Pada ACK dedicated cluster, node harus memiliki sumber daya yang cukup untuk menyebarkan atau memperbarui ACK GOATScaler; jika tidak, penyesuaian skala mungkin gagal.
Langkah 1: Aktifkan node instant scaling
Untuk menggunakan node instant scaling, aktifkan auto scaling kluster pada halaman Node Pools.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Node Pools, klik Enable di samping Node Scaling.
-
Jika diminta, aktifkan Auto Scaling dan berikan izin yang diperlukan.
-
ACK managed cluster: Otorisasi peran AliyunCSManagedAutoScalerRole.
-
ACK dedicated cluster: Otorisasi peran KubernetesWorkerRole dan sambungkan AliyunCSManagedAutoScalerRolePolicy.
Pada kotak dialog Node Scaling Configuration, setelah pemeriksaan awal berhasil, klik tautan peran RAM (misalnya
KubernetesWorkerRole-xxxx) untuk menyelesaikan otorisasi di Konsol RAM.
-
-
Pada halaman Node Scaling Configuration, atur Node Scaling Plan menjadi Instant Scaling, konfigurasikan parameter penyesuaian skala, lalu klik OK.
Komponen penyesuaian skala secara otomatis memicu scale-out node berdasarkan kondisi penjadwalan.
Ubah Node Scaling Plan ke Auto Scaling kapan saja. Ikuti petunjuk di layar. Fitur ini sedang dalam tahap beta. Untuk berpartisipasi, submit a ticket.
Parameter
Deskripsi
Scale-in Threshold
Rasio permintaan sumber daya terhadap total kapasitas sumber daya sebuah node dalam kelompok node yang telah mengaktifkan node autoscaling.
Sebuah node memenuhi syarat untuk scale-in hanya jika pemanfaatan CPU dan memori-nya berada di bawah Scale-in Threshold.
GPU Scale-in Threshold
Ambang batas scale-in untuk instans GPU.
Sebuah instans GPU memenuhi syarat untuk scale-in hanya jika pemanfaatan CPU, memori, dan GPU-nya semuanya berada di bawah GPU Scale-in Threshold yang dikonfigurasi.
Scale-in Trigger Delay
Penundaan antara saat sebuah node memenuhi syarat untuk scale-in dan saat operasi scale-in dilakukan. Satuan: menit. Nilai default: 10 menit.
PentingKomponen penyesuaian skala hanya dapat melakukan scale-in node setelah kondisi Scale-in Threshold terpenuhi dan durasi Scale-in Trigger Delay telah berlalu.
Langkah 2: Konfigurasikan kelompok node untuk auto scaling
Node instant scaling hanya berlaku untuk kelompok node yang telah mengaktifkan auto scaling.
-
Buat kelompok node dan atur Scaling Mode menjadi Auto.
-
Edit kelompok node yang sudah ada untuk mengubah Scaling Mode-nya menjadi Auto.
Disarankan: Konfigurasikan beberapa tipe instans dan zona ketersediaan untuk memastikan kapasitas yang mencukupi selama scale-out.
(Opsional) Langkah 3: Verifikasi konfigurasi
Verifikasi bahwa auto scaling aktif dan ACK GOATScaler telah terinstal.
Verifikasi status kelompok node
Pada halaman Node Pools, pastikan kelompok node Anda menampilkan tag Auto Scaling .
Verifikasi instalasi add-on
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons.
-
Pada halaman Add-ons, pastikan status add-on ACK GOATScaler adalah Installed.
Node instant scaling event utama
Fitur node instant scaling menghasilkan event-event berikut:
|
Nama peristiwa |
Objek |
Deskripsi |
|
ProvisionNode |
|
Scale-out node berhasil dipicu. |
|
ProvisionNodeFailed |
|
Gagal memicu scale-out node. |
|
ResetPod |
|
Pod yang tidak dapat dijadwalkan dan memicu scale-out dimasukkan kembali ke antrian untuk dicoba ulang. |
|
InstanceInventoryStatusChanged |
|
Dikeluarkan saat inventaris yang tersedia berubah untuk tipe instans yang dikonfigurasi. |
Node instant scaling identifier
Identifier berikut dikelola oleh sistem. Mengubahnya dapat menyebabkan perilaku penyesuaian skala yang tidak terduga.
Label node
-
goatscaler.io/managed:trueatauk8s.aliyun.com: true: Mengidentifikasi node yang dikelola oleh node instant scaling. Digunakan untuk mengevaluasi kondisi scale-in. -
goatscaler.io/provision-task-id:{task-id}: ID tugas scale-out. Digunakan untuk pelacakan.
Taint node
-
goatscaler.io/node-terminating: Node dengan taint ini ditandai untuk scale-in.
Anotasi pod
-
goatscaler.io/provision-task-id: ID tugas scale-out untuk pod ini. Sistem menunggu node mulai berjalan sebelum memicu scale-out tambahan. -
goatscaler.io/reschedule-deadline: Batas waktu penjadwalan pod. Jika masih tidak dapat dijadwalkan melewati batas ini, pod dimasukkan kembali ke antrian dan dapat memicu scale-out lainnya.
FAQ
Operasi terkait
Lihat status kesehatan
Fitur node instant scaling memilih tipe instans dan zona ketersediaan berdasarkan inventaris ECS. Periksa ConfigMap kelompok node untuk memantau kesehatan inventaris dan mendapatkan rekomendasi tipe instans.
Aktifkan pengumpulan log
Untuk ACK managed cluster, kumpulkan log ACK GOATScaler dari halaman Control Plane Component Logs.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Di tab Control Plane Component Logs, klik Update Component dan pilih ACK GOATScaler.
Di kotak dialog Update Component, pilih
ack-goatscalerlalu klik OK.Setelah pembaruan, pilih ACK GOATScaler dari daftar drop-down untuk melihat log.
Upgrade ACK GOATScaler
Simpan ACK GOATScaler tetap diperbarui untuk mendapatkan fitur terbaru. Lihat Manage components.
Lewati pemeriksaan inventaris untuk private pool
Jika Anda menggunakan private pool untuk kapasitas terjamin, aktifkan SkipInventoryCheck agar ACK GOATScaler melewati pemeriksaan inventaris dan langsung menggunakan sumber daya private pool.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons.
-
Di halaman Komponen inti, temukan ACK GOATScaler dan klik Configuration.
Memerlukan ACK GOATScaler v0.3.0-582e405-aliyun atau versi lebih baru.
-
Atur
SkipInventoryCheckmenjadi true.