Anda dapat menggunakan node autoscaling untuk secara otomatis menskalakan node ketika kluster Anda tidak memiliki kapasitas yang cukup untuk penjadwalan Pod. Node autoscaling cocok untuk skenario penskalaan skala kecil, seperti kluster dengan kurang dari 20 kelompok node yang diskalakan secara otomatis atau kelompok node dengan kurang dari 100 node. Fitur ini ideal untuk beban kerja dengan lalu lintas yang stabil, kebutuhan sumber daya yang dapat diprediksi, serta ketika penskalaan dalam satu batch memenuhi kebutuhan bisnis.
Sebelum memulai
Untuk menggunakan fitur node autoscaling secara efektif, baca Node scaling dan pahami informasi berikut:
Cara kerja node autoscaling dan fitur-fiturnya
Skenario bisnis yang cocok untuk node autoscaling
Catatan penting tentang penggunaan node autoscaling
Selama operasi scale-in, instans langganan dihapus tetapi tidak dilepas. Untuk mencegah biaya tambahan, kami menyarankan Anda menggunakan instans pay-as-you-go saat mengaktifkan fitur ini.
Prasyarat
Anda telah mengaktifkan layanan Auto Scaling (ESS).
Anda telah membaca Catatan penggunaan untuk memahami kuota dan batasan node scaling.
Node autoscaling memiliki batasan yang diketahui untuk beberapa kebijakan penjadwalan yang dapat menyebabkan hasil penskalaan yang tidak terduga. Jika beban kerja atau komponen Anda menggunakan kebijakan penjadwalan yang tidak didukung, Anda dapat menggunakan salah satu solusi berikut:
Solusi 1: Beralih ke node instant scaling.
Solusi 2: Sebarkan beban kerja atau komponen terkait di kelompok node tempat penskalaan node dinonaktifkan.
Sebagai contoh, untuk menyebarkan komponen ack-node-local-dns-admission-controller, Anda dapat menyebarkannya di kelompok node tempat node scaling dinonaktifkan dan deklarasikan persyaratan afinitas node berikut dalam konfigurasi komponen.
nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "k8s.aliyun.com" operator: "NotIn" values: ["true"]
Fitur ini melibatkan langkah-langkah berikut:
Langkah 1: Aktifkan node autoscaling untuk kluster: Kebijakan autoscaling untuk kelompok node hanya berlaku setelah Anda mengaktifkan node autoscaling di tingkat kluster.
Langkah 2: Konfigurasikan kelompok node untuk autoscaling: Fitur node autoscaling hanya berlaku untuk kelompok node yang dikonfigurasi untuk penskalaan otomatis. Oleh karena itu, Anda juga harus mengatur mode penskalaan untuk kelompok node yang diinginkan ke otomatis.
Langkah 1: Aktifkan node autoscaling untuk kluster
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Node Pools, klik Configure di sebelah Node Scaling.

Jika ini pertama kalinya Anda menggunakan node autoscaling, ikuti petunjuk di layar untuk mengaktifkan layanan ESS dan menyelesaikan otorisasi. Jika Anda telah melakukannya, lewati langkah ini.
ACK managed clusters: Berikan izin kepada role AliyunCSManagedAutoScalerRole.
ACK dedicated clusters: Berikan izin kepada role KubernetesWorkerRole dan kebijakan sistem AliyunCSManagedAutoScalerRolePolicy. Gambar berikut menunjukkan entri tersebut.

Pada panel Node Scaling Configuration, atur Node Scaling Method ke Auto Scaling, konfigurasikan parameter penskalaan, lalu klik OK.
Anda dapat mengganti metode penskalaan node setelah memilihnya. Untuk melakukannya, ubah metode menjadi node instant scaling di panel tersebut. Bacalah dan ikuti petunjuk di layar dengan cermat untuk menyelesaikan operasi.
Konfigurasi
Deskripsi
Node Pool Scale-out Policy
Random Policy: Jika terdapat beberapa kelompok node yang dapat diskalakan, salah satu dipilih secara acak untuk scale-out.
Default Policy: Jika terdapat beberapa kelompok node yang dapat diskalakan, kelompok yang paling sedikit membuang sumber daya dipilih untuk scale-out.
Priority-based Policy: Jika terdapat beberapa kelompok node yang dapat diskalakan, kelompok dengan prioritas tertinggi dipilih untuk scale-out.
Prioritas kelompok node ditentukan oleh parameter Node Pool Scale-out Priority.
Node Pool Scale-out Priority
Mengatur prioritas scale-out untuk kelompok node. Parameter ini hanya berlaku ketika Node Pool Scale-out Policy diatur ke Priority-based Policy.
Nilainya dapat berupa bilangan bulat dari 1 hingga 100. Nilai yang lebih besar menunjukkan prioritas yang lebih tinggi.
Klik Add di sebelah parameter, pilih kelompok node yang telah diaktifkan autoscaling-nya, lalu atur prioritasnya.
Jika tidak tersedia kelompok node dengan autoscaling yang diaktifkan, Anda dapat mengabaikan parameter ini untuk sementara dan mengatur prioritas kelompok node setelah menyelesaikan Langkah 2: Konfigurasikan kelompok node dengan autoscaling yang diaktifkan.
Scaling Sensitivity
Interval waktu sistem memeriksa kebutuhan penskalaan. Nilai default adalah 60 detik.
Saat skalabilitas elastis diterapkan, komponen elastis secara otomatis memicu scale-out berdasarkan status penjadwalan.
PentingNode ECS: Komponen elastis hanya melakukan scale-in node ketika kondisi Scale-in Threshold, Scale-in Trigger Delay, dan Cooldown semuanya terpenuhi.
Node GPU: Komponen elastis hanya melakukan scale-in node GPU ketika kondisi GPU Scale-in Threshold, Scale-in Trigger Delay, dan Cooldown semuanya terpenuhi.
Allow Scale-in
Menentukan apakah scale-in node diizinkan. Jika dinonaktifkan, konfigurasi scale-in tidak berlaku. Konfigurasikan dengan hati-hati.
Scale-in Threshold
Rasio permintaan sumber daya terhadap kapasitas sumber daya untuk satu node dalam kelompok node tempat node autoscaling diaktifkan.
Sebuah node hanya dapat diskalakan masuk jika rasio ini berada di bawah ambang batas yang dikonfigurasi. Artinya, utilisasi sumber daya CPU dan memori node tersebut berada di bawah Scale-in Threshold.
GPU Scale-in Threshold
Ambang batas scale-in untuk instans yang dipercepat GPU.
Sebuah node GPU hanya dapat diskalakan masuk jika rasio ini berada di bawah ambang batas yang dikonfigurasi. Artinya, utilisasi sumber daya CPU, memori, dan GPU node tersebut berada di bawah GPU Scale-in Threshold.
Scale-in Trigger Delay
Interval waktu antara terdeteksinya kebutuhan scale-in dan eksekusi operasi scale-in. Satuan: menit. Nilai default: 10 menit.
PentingKomponen elastis hanya dapat melakukan scale-in node setelah kondisi Scale-in Threshold terpenuhi dan Scale-in Trigger Delay telah berlalu.
Cooldown
Interval waktu setelah scale-out terakhir selama komponen elastis tidak melakukan operasi scale-in.
Selama periode cooldown, komponen elastis tidak menskalakan masuk node tetapi terus memeriksa apakah node memenuhi syarat untuk scale-in. Setelah periode cooldown berakhir, jika sebuah node memenuhi kedua kondisi ambang batas scale-in dan delay pemicu scale-in, komponen elastis akan melanjutkan scale-in. Misalnya, jika cooldown adalah 10 menit dan delay pemicu scale-in adalah 5 menit, komponen elastis tidak akan menskalakan masuk node apa pun dalam 10 menit setelah scale-out. Namun, komponen tersebut tetap mengevaluasi kelayakan scale-in node selama periode ini. Setelah cooldown 10 menit berakhir, jika sebuah node telah memenuhi ambang batas scale-in selama lebih dari delay 5 menit, node tersebut akan diskalakan masuk.
Langkah 2: Konfigurasikan kelompok node untuk autoscaling
Anda dapat mengonfigurasi kelompok node yang sudah ada dengan mengubah Scaling Mode-nya menjadi Auto, atau membuat kelompok node baru dengan autoscaling yang diaktifkan.
Untuk informasi lebih lanjut, lihat Buat dan kelola kelompok node. Parameter utamanya adalah sebagai berikut:
Konfigurasi | Deskripsi |
Scaling Mode |
|
Number of Instances | Minimum Number of Instances dan Maximum Number of Instances yang dapat dicapai oleh kelompok node. Ini tidak termasuk instans yang sudah ada. Catatan
|
Instance-related configurations | Saat kelompok node melakukan scale-out, node dialokasikan dari keluarga instans ECS yang dipilih. Memilih lebih banyak tipe instans di lebih banyak zona dapat meningkatkan tingkat keberhasilan scale-out node dan mencegah kegagalan akibat tipe instans yang tidak tersedia atau stok yang tidak mencukupi. Tipe instans spesifik untuk scale-out ditentukan oleh Scaling Policy.
Anda dapat merujuk pada rekomendasi kekuatan elastisitas di konsol, atau lihat kekuatan elastisitas kelompok node setelah dibuat. Untuk informasi tentang tipe instans yang tidak didukung oleh ACK dan rekomendasi konfigurasi node, lihat Rekomendasi konfigurasi tipe instans ECS. Sumber daya cloud dan penagihan: |
Operating System | Saat Anda mengaktifkan autoscaling, Anda dapat memilih citra Alibaba Cloud Linux, Windows, atau Windows Core. Jika Anda memilih citra Windows atau Windows Core, sistem secara otomatis menambahkan taint |
Node Labels | Label node yang Anda tambahkan di kluster secara otomatis ditambahkan ke node yang dibuat selama scale-out. Penting Autoscaling hanya dapat mengenali label node dan taint setelah dipetakan ke tag kelompok node. Kelompok node memiliki batas jumlah tag. Oleh karena itu, jumlah total tag ECS, taint, dan label node untuk kelompok node dengan autoscaling yang diaktifkan harus 12 atau kurang. |
Scaling Policy | Konfigurasikan cara kelompok node memilih instans selama penskalaan node.
|
Use Pay-As-You-Go Instances to Supplement Spot Capacity | Ini wajib ketika metode penagihan diatur ke instans spot. Jika Anda mengaktifkan fitur ini dan tidak cukup instans spot yang dapat dibuat karena masalah harga atau stok, ACK secara otomatis mencoba membuat instans sesuai permintaan sebagai pelengkap. Sumber daya cloud dan penagihan: |
Enable Supplemental Spot Instance | Enable Spot Instance Compensation Ini wajib ketika metode penagihan diatur ke instans spot. Jika Anda mengaktifkan fitur ini, ACK mencoba menskalakan keluar instans baru sebagai kompensasi ketika menerima pesan sistem bahwa instans spot akan segera ditarik kembali (5 menit sebelum penarikan).
Pelepasan proaktif instans spot dapat menyebabkan pengecualian bisnis. Untuk meningkatkan tingkat keberhasilan kompensasi, kami menyarankan Anda juga mengaktifkan Use On-Demand Instances To Supplement Spot Capacity. Sumber daya cloud dan penagihan: |
Scaling Mode | Anda harus mengaktifkan Node Autoscaling untuk kelompok node dan mengatur Scaling Mode ke Auto.
|
Taints | Setelah Anda menambahkan taint, kluster tidak akan menjadwalkan Pod ke node tersebut. |
Langkah 3: (Opsional) Verifikasi hasil
Setelah menyelesaikan langkah-langkah di atas, fitur node autoscaling diaktifkan. Status kelompok node menunjukkan bahwa autoscaling diaktifkan dan komponen cluster-autoscaler secara otomatis diinstal di kluster.
Kelompok node telah mengaktifkan penskalaan otomatis
Pada halaman Node Pools, daftar kelompok node menunjukkan kelompok node mana yang telah diaktifkan autoscaling-nya.

Komponen cluster-autoscaler telah diinstal
Di panel navigasi kiri halaman detail, pilih .
Pilih namespace kube-system untuk menampilkan komponen cluster-autoscaler.

FAQ
Kategori | Subkategori | Tautan |
Perilaku penskalaan node auto scaling | ||
Apakah cluster-autoscaler mendukung CustomResourceDefinitions (CRDs)? | ||
Perilaku penskalaan kustom | ||
Add-on cluster-autoscaler terkait | ||