全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan node autoscaling

更新时间:Mar 05, 2026

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:

  1. 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.

  2. 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

  1. Masuk ke Container Service Management 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, klik Configure di samping Node Scaling.

    1.jpg

  4. 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.

      Penting
      • Node 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.

      Penting

      Komponen 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.

      Pengaturan konfigurasi lanjutan

    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

    • Manual: ACK menyesuaikan jumlah node dalam kelompok node berdasarkan Expected Number of Nodes yang dikonfigurasi, sehingga mempertahankan jumlah node pada nilai Expected Number of Nodes. Untuk detailnya, lihat Menyesuaikan kelompok node secara manual.

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

    Instance Count

    minimum instance count dan maximum instance count untuk penskalaan dalam kelompok node. Ini tidak termasuk instans yang sudah ada.

    Catatan
    • Jika jumlah instans minimum bukan nol, grup penskalaan akan secara otomatis membuat jumlah instans ECS yang ditentukan setelah diaktifkan.

    • Kami menyarankan agar jumlah instans maksimum diatur minimal sama dengan jumlah node saat ini dalam kelompok node. Jika tidak, penskalaan mungkin langsung mengurangi jumlah node setelah diaktifkan.

    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:

    • 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 scale-out. Untuk detailnya, lihat Konfigurasikan kelompok node menggunakan atribut instans tertentu.

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

    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 { effect: 'NoSchedule', key: 'os', value: 'windows' }.

    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.

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

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

      Ketika 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 jika 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 melakukan rebalance.

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

    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.

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

    • Kompensasi gagal: ACK tidak mengosongkan node lama, dan instans tersebut ditarik kembali setelah 5 menit. Saat stok dipulihkan atau kondisi harga terpenuhi, ACK secara otomatis membeli instans untuk mempertahankan jumlah node yang diinginkan. Untuk detailnya, lihat Best practice kelompok node instans spot.

    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

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

    • Swift: Melakukan penskalaan dengan membuat, menghentikan, dan memulai ulang instans ECS. Saat penskalaan diperlukan lagi, instans yang dihentikan akan langsung dimulai ulang, sehingga 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 mengenai mode penghentian instans ECS, lihat Economical mode.

    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.

    image

    Komponen cluster-autoscaler telah diinstal

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

    2. Pilih namespace kube-system untuk melihat komponen cluster-autoscaler.

      image

    FAQ

    Category

    Subcategory

    Link

    Perilaku penskalaan node auto scaling

    Known limitations

    Scale-out behavior

    Scale-in behavior

    Extension support

    Does cluster-autoscaler support CustomResourceDefinitions (CRDs)?

    Custom scaling behavior

    Pod-basis scaling behavior control

    Node-basis scaling behavior control

    cluster-autoscaler add-on related