Jika kapasitas kluster yang direncanakan tidak mencukupi untuk memenuhi kebutuhan penjadwalan pod aplikasi, gunakan node autoscaling untuk secara otomatis menyesuaikan jumlah node. Node autoscaling paling efektif dalam skenario penskalaan skala kecil—seperti kurang dari 20 kelompok node elastis atau kurang dari 100 node per kelompok node elastis—dengan fluktuasi lalu lintas yang stabil, permintaan sumber daya yang dapat diprediksi atau periodik, serta kebutuhan bisnis yang dapat dipenuhi oleh satu batch penskalaan sumber daya.
Sebelum memulai
Untuk menggunakan node autoscaling secara efektif, baca terlebih dahulu node scaling dan pahami hal-hal berikut:
Node autoscaling: cara kerja dan fiturnya
Skema bisnis yang didukung oleh node autoscaling
Pertimbangan penting sebelum menggunakan node autoscaling
Saat melakukan scale-in, instance subscription dihapus dari kluster tetapi tidak dilepas. Untuk menghindari biaya tambahan, gunakan instance pay-as-you-go saat mengaktifkan fitur ini.
Catatan penting
Sebelum memulai, pastikan Anda telah mengaktifkan Auto Scaling (ESS).
Lihat Catatan penting mengenai kuota dan batasan pada node scaling.
Node autoscaling memiliki batasan yang diketahui terkait kebijakan penjadwalan tertentu. Hal ini dapat menyebabkan hasil penskalaan berbeda dari yang diharapkan. Jika workload atau komponen Anda menggunakan kebijakan penjadwalan yang tidak didukung, sesuaikan sebagai berikut:
Solusi 1: Beralih ke instant node elasticity.
Solusi 2: Deploy workload atau komponen yang terpengaruh di kelompok node tempat node scaling dinonaktifkan.
Sebagai contoh, deploy komponen ack-node-local-dns-admission-controller di kelompok node tempat node scaling dinonaktifkan, dan deklarasikan persyaratan afinitas node berikut dalam konfigurasi komponen tersebut.
nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "k8s.aliyun.com" operator: "NotIn" values: ["true"]
Komponen cluster-autoscaler memerlukan sumber daya node selama pembaruan atau penerapan. Jika sumber daya tidak mencukupi, pembaruan atau penerapan dapat gagal dan menyebabkan error penskalaan. Pastikan tersedia sumber daya node yang cukup.
Fitur ini mencakup langkah-langkah berikut:
Langkah 1: Aktifkan node autoscaling untuk kluster: Kebijakan penskalaan otomatis yang dikonfigurasi untuk kelompok node hanya berlaku setelah Anda mengaktifkan fitur node autoscaling di tingkat kluster.
Langkah 2: Konfigurasikan kelompok node elastis: Node autoscaling hanya berlaku untuk kelompok node yang dikonfigurasi untuk auto-scaling. Oleh karena itu, atur mode penskalaan kelompok node target Anda ke Auto.
Langkah 1: Aktifkan node autoscaling untuk kluster
Masuk ke Container Service Management Console . Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Di halaman Node Pools, klik Configure di samping Node Scaling.

Jika ini pertama kalinya Anda menggunakan node autoscaling, ikuti petunjuk di layar untuk mengaktifkan ESS dan menyelesaikan otorisasi. Lewati langkah ini jika ESS sudah diaktifkan dan diotorisasi.
Di halaman Node Scaling Configuration, atur Node Scaling Method menjadi Auto Scaling. Konfigurasikan pengaturan penskalaan lalu klik OK.
Anda dapat mengubah metode penskalaan node nanti. Untuk beralih, pilih instant node elasticity, lalu baca dan ikuti petunjuk di layar dengan cermat.
Setting
Description
Node Pool Scale-Out Order Policy
Random policy: Saat beberapa kelompok node memenuhi syarat untuk scale-out, pilih salah satu secara acak.
Default policy: Saat beberapa kelompok node memenuhi syarat untuk scale-out, pilih yang memiliki pemborosan sumber daya paling sedikit.
Priority policy: Saat beberapa kelompok node memenuhi syarat untuk scale-out, pilih yang memiliki prioritas tertinggi.
Atur prioritas kelompok node menggunakan parameter Node Pool Scale-Out Priority.
Node Pool Scale-Out Priority
Atur prioritas scale-out untuk kelompok node. Pengaturan ini hanya berlaku ketika Node Pool Scale-Out Order Policy diatur ke Priority policy.
Nilai yang valid: bilangan bulat dari 1 hingga 100. Angka yang lebih tinggi berarti prioritas lebih tinggi.
Klik Add di sebelah kanan parameter. Pilih kelompok node yang telah diaktifkan auto-scaling-nya dan tetapkan prioritasnya.
Jika tidak ada kelompok node dengan auto-scaling yang tersedia, lewati pengaturan ini untuk saat ini. Tetapkan prioritas setelah menyelesaikan Langkah 2: Konfigurasikan kelompok node elastis.
Elasticity Sensitivity
Sesuaikan seberapa sering sistem memeriksa apakah penskalaan diperlukan. Nilai default: 60 detik.
Selama penskalaan, komponen elastisitas secara otomatis memicu scale-out berdasarkan status penjadwalan.
PentingNode ECS: Komponen elastisitas hanya dapat melakukan scale-in pada node jika ketiga kondisi berikut terpenuhi: Scale-In Threshold, Scale-In Trigger Delay, dan Silence Time.
Node GPU: Komponen elastisitas hanya dapat melakukan scale-in pada node GPU jika ketiga kondisi berikut terpenuhi: GPU Scale-In Threshold, Scale-In Trigger Delay, dan Silence Time.
Allow Scale-In
Apakah akan mengizinkan scale-in node. Jika dinonaktifkan, pengaturan scale-in tidak berlaku. Atur opsi ini dengan hati-hati.
Scale-In Threshold
Untuk kelompok node yang telah diaktifkan node autoscaling-nya, ini adalah rasio antara sumber daya yang diminta (Request) terhadap total kapasitas sumber daya per node.
Node hanya dapat di-scale-in jika rasio ini berada di bawah ambang batas — artinya penggunaan CPU dan memori pada node tersebut berada di bawah Scale-In Threshold.
GPU Scale-In Threshold
Ambang batas scale-in untuk instans GPU.
Node GPU hanya dapat di-scale-in jika rasio ini berada di bawah ambang batas — artinya penggunaan CPU, memori, dan GPU pada node tersebut semuanya berada di bawah GPU Scale-In Threshold.
Scale-In Trigger Delay
Waktu antara terdeteksinya kebutuhan scale-in dan pelaksanaan scale-in yang sebenarnya. Satuan: menit. Nilai default: 10 menit.
PentingKomponen elastisitas hanya dapat melakukan scale-in pada node setelah Scale-In Threshold terpenuhi dan Scale-In Trigger Delay telah berlalu.
Silence Time
Waktu setelah scale-out terakhir di mana komponen elastisitas tidak melakukan scale-in.
Selama masa silence time, komponen elastisitas tidak melakukan scale-in pada node tetapi tetap memeriksa apakah node memenuhi syarat untuk scale-in. Setelah masa silence time berakhir, jika node memenuhi ambang batas scale-in dan delay pemicu scale-in, komponen elastisitas akan melanjutkan scale-in secara normal. Sebagai contoh, jika silence time adalah 10 menit dan scale-in trigger delay adalah 5 menit, komponen elastisitas tidak akan melakukan scale-in pada node selama 10 menit setelah scale-out terakhir. Namun dalam 10 menit tersebut, komponen tersebut tetap memeriksa apakah node memenuhi kondisi scale-in. Setelah masa silence time berakhir dan node memenuhi ambang batas scale-in serta telah menunggu minimal 5 menit, komponen elastisitas akan melanjutkan scale-in.
Langkah 2: Konfigurasikan kelompok node elastis
Anda dapat mengonfigurasi kelompok node yang sudah ada dengan mengubah Scaling Mode-nya menjadi Auto, atau membuat kelompok node baru dengan auto-scaling yang diaktifkan.
Untuk detailnya, lihat Buat dan kelola kelompok node. Pengaturan utama meliputi hal-hal berikut:
Setting | Description |
Scaling Mode |
|
Instance Count | minimum instance count dan maximum instance count untuk penskalaan dalam kelompok node. Ini tidak termasuk instans yang sudah ada. Catatan
|
Instance-related settings | Saat melakukan scale-out, node dialokasikan dari family instans ECS yang dikonfigurasi. Untuk meningkatkan tingkat keberhasilan scale-out, pilih beberapa tipe instans di beberapa zona guna menghindari ketidaktersediaan atau stok yang tidak mencukupi. Tipe instans spesifik yang digunakan untuk penskalaan ditentukan oleh Scaling Policy yang dikonfigurasi. Untuk memastikan stabilitas bisnis dan penjadwalan sumber daya yang akurat, jangan mencampur tipe instans GPU dan non-GPU dalam kelompok node yang sama. Konfigurasikan tipe instans untuk penskalaan dengan salah satu dari dua cara berikut:
Ikuti rekomendasi kekuatan elastisitas konsol untuk konfigurasi, atau lihat kekuatan elastisitas kelompok node setelah pembuatan. Untuk rekomendasi konfigurasi tipe instans ECS dan konfigurasi node yang tidak didukung ACK, lihat Rekomendasi konfigurasi tipe instans ECS. Informasi sumber daya cloud dan penagihan: |
Operating System | Saat mengaktifkan auto-scaling, Anda dapat memilih Alibaba Cloud Linux, image Windows, atau image Windows Core. Jika Anda memilih image Windows atau Windows Core, sistem secara otomatis menambahkan taint |
Node Labels | Label yang ditambahkan ke kluster akan secara otomatis diterapkan ke node yang dibuat oleh auto-scaling. Penting Auto-scaling hanya mengenali label dan taint jika dipetakan ke tag kelompok node. Tag kelompok node memiliki batasan. Pastikan jumlah total tag ECS, taint, dan label node untuk kelompok node elastis tidak melebihi 12. |
Scaling Policy | Konfigurasikan cara kelompok node memilih instans selama penskalaan.
|
Use Pay-as-you-go Instances When Spot Instances Are Insufficient | Memerlukan pemilihan instans spot sebagai metode penagihan. Jika diaktifkan, jika instans spot yang mencukupi tidak dapat dibuat karena harga atau stok, ACK secara otomatis akan mencoba membuat instans pay-as-you-go sebagai pelengkap. Informasi sumber daya cloud dan penagihan: |
Enable Supplemental Preemptible Instances | Memerlukan pemilihan instans spot sebagai metode penagihan. Jika diaktifkan, saat menerima notifikasi sistem bahwa instans spot akan ditarik kembali (5 menit sebelum penarikan), ACK akan mencoba melakukan scale-out instans baru sebagai kompensasi.
Pelepasan aktif instans spot dapat menyebabkan gangguan bisnis. Untuk meningkatkan tingkat keberhasilan kompensasi, kami merekomendasikan juga mengaktifkan Use Pay-as-you-go Instances When Spot Instances Are Insufficient. Informasi sumber daya cloud dan penagihan: |
Memerlukan pengaktifan Auto Scaling untuk kelompok node dan pengaturan Scaling Mode ke Auto.
| |
Taints | Setelah menambahkan taint, kluster tidak akan menjadwalkan pod ke node tersebut. |
Langkah 3: (Opsional) Verifikasi hasil
Setelah menyelesaikan langkah-langkah di atas, Anda dapat menggunakan node autoscaling. Kelompok node menunjukkan bahwa auto-scaling telah dimulai, dan kluster telah secara otomatis menginstal komponen cluster-autoscaler.
Auto-scaling diaktifkan untuk kelompok node
Di halaman Node Pools, daftar kelompok node menampilkan kelompok node yang telah diaktifkan auto-scaling-nya.

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

FAQ
Category | Subcategory | Link |
Perilaku penskalaan node auto scaling | ||
Does cluster-autoscaler support CustomResourceDefinitions (CRDs)? | ||
Custom scaling behavior | ||
cluster-autoscaler add-on related | ||