All Products
Search
Document Center

Container Service for Kubernetes:Aktifkan node autoscaling

Last Updated:Jun 21, 2026

Jika kluster Anda tidak memiliki sumber daya yang cukup untuk menjadwalkan pod, Anda dapat menggunakan node autoscaling untuk menambah atau menghapus node secara otomatis. Node autoscaling ideal untuk skenario penskalaan yang kurang menuntut, seperti kluster dengan kurang dari 20 kelompok node yang diskalakan secara otomatis atau kurang dari 100 node pada masing-masing kelompok. Fitur ini juga cocok untuk workload dengan traffic yang stabil, permintaan sumber daya yang dapat diprediksi, dan di mana satu aksi penskalaan sudah cukup.

Sebelum memulai

Untuk menggunakan fitur node autoscaling secara efektif, kami menyarankan Anda terlebih dahulu membaca Node scaling dan memahami hal-hal berikut:

对Cara kerja node autoscaling dan fitur-fiturnya

对Kasus penggunaan yang sesuai untuk node autoscaling

对Pertimbangan penting sebelum menggunakan node autoscaling

对Saat skala-masuk (scale-in), instans langganan dihapus dari kluster tetapi tidak dihentikan. Untuk menghindari biaya tambahan, gunakan instans pay-as-you-go saat mengaktifkan fitur ini.

Tindakan Pencegahan

  • Sebelum memulai, pastikan Anda telah mengaktifkan layanan Auto Scaling.

  • Untuk informasi tentang kuota dan batasan, lihat Peringatan untuk node scaling.

  • Node autoscaling memiliki batasan yang diketahui terkait kebijakan penjadwalan tertentu, yang dapat menyebabkan perilaku penskalaan yang tidak terduga. Jika workload atau komponen Anda menggunakan kebijakan penjadwalan yang tidak didukung, kami merekomendasikan salah satu solusi berikut:

    • Solusi 1: Beralih ke node instant scaling.

    • Solusi 2: Sebarkan workload atau komponen yang terpengaruh ke kelompok node tempat penskalaan node tidak diaktifkan.

      Misalnya, untuk menyebarkan komponen ack-node-local-dns-admission-controller, sebarkan ke kelompok node tempat node scaling tidak diaktifkan dan tambahkan persyaratan afinitas node berikut ke 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. Sumber daya yang tidak mencukupi dapat menyebabkan operasi tersebut gagal dan mengganggu penskalaan. Pastikan node Anda memiliki sumber daya yang memadai untuk mencegah kegagalan semacam itu.

Fitur ini melibatkan langkah-langkah berikut:

  1. Langkah 1: Aktifkan node autoscaling untuk kluster: Anda harus terlebih dahulu mengaktifkan node autoscaling di tingkat kluster agar kebijakan penskalaan otomatis pada kelompok node berlaku.

  2. Langkah 2: Konfigurasi kelompok node yang diskalakan secara otomatis: Fitur node autoscaling hanya berlaku untuk kelompok node tempat fitur tersebut diaktifkan. Oleh karena itu, Anda harus mengatur mode penskalaan kelompok node tertentu ke Auto.

Langkah 1: Aktifkan node autoscaling

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Nodes > Node Pools.

  3. Di halaman Node Pools, di samping Node Scaling, klik Enable.

  4. Jika ini pertama kalinya Anda menggunakan node autoscaling, ikuti petunjuk di layar untuk mengaktifkan layanan Auto Scaling dan memberikan izin yang diperlukan. Jika Anda telah melakukannya sebelumnya, lewati langkah ini.

    • ACK managed cluster: Otorisasi peran AliyunCSManagedAutoScalerRole.

    • ACK dedicated cluster: Otorisasi peran KubernetesWorkerRole dan lampirkan AliyunCSManagedAutoScalerRolePolicy.

      Di kotak dialog Node Scaling Configuration, setelah pemeriksaan awal berhasil, klik tautan peran RAM (misalnya KubernetesWorkerRole-xxxx) untuk menyelesaikan otorisasi di konsol RAM.

  5. Di halaman Node Scaling Configuration, atur Node Scaling Plan ke Auto Scaling, konfigurasi parameter, lalu klik OK.

    Anda dapat mengganti solusi penskalaan setelah dipilih. Untuk mengganti, ubah pilihan ke node instant scaling, baca prompt di layar dengan cermat, dan ikuti petunjuk untuk menyelesaikan operasi.

    Parameter

    Deskripsi

    Node Pool Scale-out Policy

    • Random Policy: Jika beberapa kelompok node memenuhi syarat untuk skala keluar, salah satu dipilih secara acak.

    • Default Policy: Jika beberapa kelompok node memenuhi syarat untuk skala keluar, dipilih kelompok yang menghasilkan pemborosan sumber daya paling sedikit.

    • Priority-based Policy: Jika beberapa kelompok node memenuhi syarat untuk skala keluar, dipilih kelompok dengan prioritas tertinggi.

      Prioritas kelompok node ditentukan oleh parameter Node Pool Scale-out Priority.

    Node Pool Scale-out Priority

    Mengatur prioritas skala keluar untuk kelompok node. Parameter ini hanya berlaku ketika Node Pool Scale-out Policy diatur ke Priority-based Policy.

    Rentang nilai: bilangan bulat dari 1 hingga 100. Nilai yang lebih besar menunjukkan prioritas yang lebih tinggi.

    Anda harus mengklik Add di samping parameter, memilih kelompok node yang diskalakan secara otomatis, dan menetapkan prioritas untuknya.

    Jika tidak tersedia kelompok node yang diskalakan secara otomatis, Anda dapat mengabaikan parameter ini untuk saat ini dan menetapkan prioritas setelah menyelesaikan Langkah 2: Konfigurasi kelompok node yang diskalakan secara otomatis.

    Scaling Sensitivity

    Interval sistem memeriksa apakah perlu melakukan penskalaan. Nilai default adalah 60 detik.

    Selama penskalaan otomatis, komponen penskalaan secara otomatis memicu event skala keluar berdasarkan status penjadwalan.

    Penting
    • Node ECS: Komponen penskalaan hanya dapat melakukan skala-masuk pada node jika kondisi Scale-in Threshold, Scale-in Trigger Delay, dan Cooldown Period semuanya terpenuhi.

    • Node GPU: Komponen penskalaan hanya dapat melakukan skala-masuk pada node GPU jika kondisi GPU Scale-in Threshold, Scale-in Trigger Delay, dan Cooldown Period semuanya terpenuhi.

    Allow Scale-in

    Menentukan apakah skala-masuk node diizinkan. Jika dinonaktifkan, konfigurasi terkait skala-masuk tidak berlaku. Gunakan pengaturan ini dengan hati-hati.

    Scale-in Threshold

    Rasio permintaan sumber daya terhadap total kapasitas sumber daya sebuah node dalam kelompok node dengan node autoscaling diaktifkan.

    Sebuah node memenuhi syarat untuk skala-masuk hanya jika pemanfaatan sumber daya CPU dan memorinya berada di bawah Scale-in Threshold.

    GPU Scale-in Threshold

    Ambang batas skala-masuk untuk instans GPU.

    Instans GPU memenuhi syarat untuk skala-masuk hanya jika pemanfaatan CPU, memori, dan GPU-nya berada di bawah GPU Scale-in Threshold yang dikonfigurasi.

    Scale-in Trigger Delay

    Penundaan antara saat node memenuhi syarat untuk skala-masuk dan saat operasi skala-masuk dilakukan. Satuan: menit. Nilai default: 10 menit.

    Penting

    Komponen penskalaan hanya dapat melakukan skala-masuk node setelah kondisi Scale-in Threshold terpenuhi dan durasi Scale-in Trigger Delay telah berlalu.

    Cooldown Period

    Periode setelah event skala keluar terakhir di mana komponen penskalaan tidak akan melakukan skala-masuk.

    Selama periode cooldown, aksi skala-masuk dijeda, tetapi sistem terus mengevaluasi node untuk kelayakan. Setelah cooldown berakhir, node apa pun yang telah memenuhi kondisi skala-masuk (ambang batas dan waktu tunda) akan diskalakan masuk. Misalnya, dengan cooldown 10 menit dan tunda 5 menit, tidak ada node yang dihapus selama 10 menit setelah skala keluar. Jika sebuah node memenuhi syarat pada menit ke-2, node tersebut akan dihapus pada menit ke-10, karena telah memenuhi syarat selama 8 menit, yang melebihi tunda 5 menit.

    Parameter lanjutan

    Parameter

    Deskripsi

    Pod Termination Timeout

    Waktu tunggu maksimum untuk terminasi pod selama skala-masuk. Satuan: detik.

    Jika pod tidak dievakuasi sebelum timeout, node tidak dilepas.

    Minimum Pod Replicas

    Ambang batas perlindungan skala-masuk. Node dengan pod ReplicationController atau ReplicaSet tidak diskalakan masuk jika jumlah replika turun di bawah nilai ini.

    Hanya berlaku untuk pod ReplicationController dan ReplicaSet, bukan StatefulSet atau DaemonSet.

    Enable DaemonSet Pod Eviction

    Jika diaktifkan, pod DaemonSet dievakuasi saat nodenya diskalakan masuk.

    Skip nodes with pods in the kube-system namespace

    Jika diaktifkan, node dengan pod di namespace kube-system dikecualikan dari skala-masuk.

    Catatan

    Ini tidak berlaku untuk pod DaemonSet atau mirror pod.

Langkah 2: Konfigurasi kelompok node yang diskalakan secara otomatis

Anda dapat mengonfigurasi kelompok node yang sudah ada dengan mengubah Scaling Mode-nya menjadi Auto, atau membuat kelompok node baru dengan penskalaan otomatis diaktifkan.

Untuk petunjuk detail, lihat Create and manage a node pool. Parameter utama dijelaskan di bawah ini:

Parameter

Deskripsi

Scaling Mode

  • Manual: ACK menyesuaikan jumlah node dalam kelompok node berdasarkan Expected Number of Nodes yang dikonfigurasi, mempertahankan jumlah node pada Expected Number of Nodes. Untuk detailnya, lihat Manually scale node pools.

  • Auto: Saat perencanaan kapasitas kluster tidak dapat memenuhi permintaan penjadwalan pod aplikasi, ACK secara otomatis menskalakan sumber daya node berdasarkan jumlah instans minimum dan maksimum yang dikonfigurasi. Kluster yang menjalankan Kubernetes 1.24 atau versi lebih baru secara default menggunakan node instant scaling; kluster dengan versi sebelumnya secara default menggunakan node autoscaling. Untuk detailnya, lihat Node scaling.

Instances

Min. Instances dan Max. Instances yang dapat diskalakan dalam kelompok node tidak termasuk instans yang sudah ada.

Catatan
  • Jika Min. Instances lebih besar dari 0, jumlah instans ECS yang sesuai akan dibuat secara otomatis setelah grup penskalaan berlaku.

  • Kami menyarankan mengatur Max. Instances ke nilai yang tidak kurang dari jumlah node saat ini dalam kelompok node. Jika tidak, node dalam kelompok node akan langsung diskalakan masuk setelah fitur penskalaan otomatis diaktifkan.

Instance-related parameters

Saat skala keluar, node dialokasikan dari ECS instance families yang dikonfigurasi. Untuk meningkatkan tingkat keberhasilan skala keluar, pilih beberapa tipe instans di beberapa zona untuk 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:

  • Tipe spesifik: Tentukan tipe instans eksak berdasarkan vCPU, memori, family, arsitektur, dan dimensi lainnya.

  • Konfigurasi umum: Pilih tipe instans yang akan digunakan atau dikecualikan berdasarkan atribut (vCPU, memori, dll.) untuk lebih meningkatkan tingkat keberhasilan skala keluar. Untuk detailnya, lihat Configure node pools using specified instance attributes.

Ikuti rekomendasi kekuatan elastisitas konsol untuk konfigurasi, atau view node pool elasticity strength setelah pembuatan.

Untuk rekomendasi konfigurasi tipe instans ECS dan konfigurasi node yang tidak didukung oleh ACK, lihat ECS instance type configuration recommendations.

Informasi sumber daya cloud dan penagihan: imageECS instance, imageGPU instance

Operating System

Untuk node yang diskalakan secara otomatis, didukung image Alibaba Cloud Linux, Windows, dan Windows Core.

Saat Anda memilih image Windows atau Windows Core, sistem secara otomatis menambahkan taint { effect: 'NoSchedule', key: 'os', value: 'windows' }.

Node Labels

Label node yang ditambahkan ke konfigurasi kluster secara otomatis diterapkan ke node yang dibuat selama skala keluar.

Penting

Node autoscaling hanya mengenali label node dan taint setelah dipetakan ke tag kelompok node, dan jumlah tag kelompok node terbatas. Oleh karena itu, untuk kelompok node yang diskalakan secara otomatis, pastikan jumlah total tag ECS, taint, dan label node yang dikonfigurasi tidak melebihi 12.

Scaling Policy

Konfigurasikan cara kelompok node memilih instans selama penskalaan.

  • Priority-based Policy: Menskalakan berdasarkan prioritas vSwitch yang dikonfigurasi di kluster (urutan vSwitch dari atas ke bawah menunjukkan prioritas menurun). Jika instans tidak dapat dibuat di zona prioritas lebih tinggi, vSwitch prioritas berikutnya digunakan secara otomatis.

  • Cost Optimization: Menskalakan dari harga satuan vCPU terendah ke tertinggi.

    Saat kelompok node menggunakan Preemptible Instance, instans spot diprioritaskan. Anda dapat mengonfigurasi Percentage of pay-as-you-go instances (%) untuk secara otomatis menambahkan instans pay-as-you-go saat instans spot tidak dapat dibuat karena stok atau alasan lain.

  • Distribution Balancing: Mendistribusikan instans ECS secara merata di beberapa zona, tetapi hanya dalam skenario multi-zona. Jika distribusi zona menjadi tidak seimbang karena kekurangan stok, Anda dapat menyeimbangkan ulang.

Use Pay-as-you-go Instances When Spot Instances Are Insufficient

Memerlukan pemilihan instans spot sebagai metode penagihan.

Jika diaktifkan, jika instans spot yang cukup tidak dapat dibuat karena harga atau stok, ACK secara otomatis mencoba membuat instans pay-as-you-go sebagai pelengkap.

Informasi sumber daya cloud dan penagihan: imageECS instance

Enable Supplemental Spot Instance

Memerlukan pemilihan instans spot sebagai metode penagihan.

Jika diaktifkan, saat menerima notifikasi sistem bahwa instans spot akan ditarik kembali (5 menit sebelum penarikan), ACK mencoba menskalakan instans baru untuk kompensasi.

  • Kompensasi berhasil: ACK mengosongkan node lama dan menghapusnya dari kluster.

  • Kompensasi gagal: ACK tidak mengosongkan node lama, dan instans ditarik kembali setelah 5 menit. Saat stok pulih atau kondisi harga terpenuhi, ACK secara otomatis membeli instans untuk mempertahankan jumlah node yang diinginkan. Untuk detailnya, lihat Spot instance node pool best practices.

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: imageECS instance

Scaling Mode

Memerlukan pengaktifan Auto Scaling untuk kelompok node dan pengaturan Scaling Mode ke Auto.
  • Standard: Menskalakan dengan membuat dan melepas instans ECS.

  • Swift: Menskalakan dengan membuat, menghentikan, dan memulai ulang instans ECS. Saat penskalaan diperlukan lagi, instans yang dihentikan langsung dimulai ulang, meningkatkan kecepatan penskalaan.

    Instans ECS yang dihentikan tidak dikenai biaya sumber daya komputasi, hanya biaya penyimpanan (kecuali untuk family instans dengan kemampuan penyimpanan lokal, seperti tipe big data dan SSD lokal). Untuk detail penagihan dan pertimbangan tentang mode penghentian instans ECS, lihat Economical mode.

Taints

Mencegah pod dijadwalkan ke node.

Langkah 3: (Opsional) Verifikasi hasil

Setelah menyelesaikan langkah-langkah ini, fitur node autoscaling siap digunakan. Kelompok node akan menunjukkan bahwa penskalaan otomatis aktif, dan sistem akan secara otomatis menginstal komponen cluster-autoscaler.

Penskalaan otomatis diaktifkan untuk kelompok node

Di halaman Node Pools, daftar kelompok node menampilkan kelompok node tempat penskalaan otomatis diaktifkan.

Komponen cluster-autoscaler diinstal

  1. Di panel navigasi kiri halaman manajemen kluster, pilih Workload > Deployments.

  2. Pilih namespace kube-system. Komponen cluster-autoscaler muncul dalam daftar.

FAQ

Kategori

Subkategori

Tautan

Perilaku penskalaan node auto scaling

Known limitations

Scale-out behavior

Scale-in behavior

Extension support

Does the cluster-autoscaler support CustomResourceDefinitions (CRDs)?

Custom scaling behavior

Control scaling behavior by using pods

Control scaling behavior by using nodes

cluster-autoscaler component