全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan penyesuaian otomatis node

更新时间:Jan 09, 2026

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:

  1. Langkah 1: Aktifkan node autoscaling untuk kluster: Kebijakan autoscaling untuk kelompok node hanya berlaku setelah Anda mengaktifkan node autoscaling di tingkat kluster.

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

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

  2. Pada halaman Node Pools, klik Configure di sebelah Node Scaling.

    1.jpg

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

      image

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

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

    Penting

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

    Lihat parameter konfigurasi lanjutan

    Item konfigurasi

    Deskripsi

    Pod Termination Timeout

    Waktu maksimum menunggu Pod pada sebuah node dihentikan selama scale-in node. Satuan: detik.

    Minimum Number of Replicated Pods

    Jumlah minimum Pod yang diizinkan dalam setiap ReplicaSet sebelum scale-in node. Jika jumlah replika aktual dalam ReplicaSet tempat Pod tersebut berada lebih kecil dari nilai ini, node tidak akan diskalakan masuk.

    Evict DaemonSet Pods

    Jika Anda mengaktifkan fitur ini, Pod DaemonSet pada sebuah node akan di-evict saat node tersebut diskalakan masuk.

    Skip Nodes Hosting Kube-system Pods

    Jika Anda mengaktifkan fitur ini, sistem dapat mengabaikan node yang menjalankan Pod di namespace kube-system selama scale-in node otomatis. Hal ini memastikan bahwa node tersebut tidak terpengaruh oleh scale-in.

    Catatan

    Fitur ini tidak berlaku untuk Pod DaemonSet dan mirror pods.

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

  • Manual: ACK menyesuaikan jumlah node dalam kelompok node dengan mempertahankannya pada jumlah Expected Nodes yang dikonfigurasi. Untuk informasi lebih lanjut, lihat Skalakan kelompok node secara manual.

  • Auto: Ketika perencanaan kapasitas kluster tidak dapat memenuhi kebutuhan penjadwalan Pod aplikasi, ACK secara otomatis menskalakan sumber daya node berdasarkan jumlah minimum dan maksimum instans yang dikonfigurasi. Untuk kluster Kubernetes versi 1.24 ke atas, instant node scaling diaktifkan secara default. Untuk kluster versi sebelum Kubernetes 1.24, node autoscaling diaktifkan secara default. Untuk informasi lebih lanjut, lihat Node scaling.

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
  • Jika jumlah minimum instans bukan 0, grup penskalaan secara otomatis membuat jumlah instans ECS yang ditentukan setelah berlaku.

  • Atur jumlah maksimum instans ke nilai yang tidak kurang dari jumlah node saat ini dalam kelompok node. Jika tidak, scale-in akan langsung dipicu setelah fitur penskalaan elastis berlaku.

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.

  • Specific Type: Tentukan tipe instans spesifik berdasarkan dimensi seperti vCPU, memori, keluarga instans, dan arsitektur.

  • Generic Configuration: Pilih daftar tipe instans untuk digunakan atau dikecualikan berdasarkan atribut seperti vCPU dan memori untuk lebih meningkatkan tingkat keberhasilan scale-out. Untuk informasi lebih lanjut, lihat Konfigurasikan kelompok node dengan menentukan atribut instans.

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

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

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.

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

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

    Jika kelompok node menggunakan Spot Instances, instans spot diprioritaskan. Anda juga dapat mengonfigurasi Proportion Of On-demand Instances (%). Saat tipe instans spot tidak dapat dibuat karena stok atau alasan lain, instans sesuai permintaan secara otomatis digunakan sebagai pelengkap.

  • Distribution Balancing: Mendistribusikan instans ECS secara merata di beberapa zona hanya dalam skenario multi-zona. Jika distribusi zona menjadi tidak seimbang karena stok yang tidak mencukupi atau alasan lain, Anda dapat melakukan operasi penyeimbangan ulang.

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

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

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

  • Kompensasi gagal: ACK tidak mengosongkan node lama. Instans tetap ditarik kembali dan dilepas setelah 5 menit. Saat stok dipulihkan atau kondisi harga terpenuhi, ACK secara otomatis membeli instans untuk mempertahankan jumlah node yang diharapkan. Untuk informasi lebih lanjut, lihat Praktik terbaik untuk kelompok node instans spot.

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

Scaling Mode

Anda harus mengaktifkan Node Autoscaling untuk kelompok node dan mengatur Scaling Mode ke Auto.
  • Standard Mode: Menskalakan dengan membuat dan melepas instans ECS.

  • Economical Mode: Menskalakan dengan membuat, menghentikan, dan memulai ulang instans ECS. Hal ini memungkinkan Anda langsung memulai ulang instans yang dihentikan saat perlu menskalakan lagi, sehingga meningkatkan kecepatan penskalaan.

    Anda tidak dikenai biaya untuk sumber daya komputasi instans ECS yang dihentikan. Anda hanya dikenai biaya penyimpanan (kecuali untuk keluarga instans dengan kemampuan penyimpanan lokal, seperti tipe data besar dan SSD lokal). Untuk informasi lebih lanjut tentang penagihan dan catatan terkait mode henti instans ECS, lihat Economical mode.

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.

image

Komponen cluster-autoscaler telah diinstal

  1. Di panel navigasi kiri halaman detail, pilih Workloads > Deployments.

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

    image

FAQ

Kategori

Subkategori

Tautan

Perilaku penskalaan node auto scaling

Batasan yang diketahui

Perilaku scale-out

Perilaku scale-in

Dukungan ekstensi

Apakah cluster-autoscaler mendukung CustomResourceDefinitions (CRDs)?

Perilaku penskalaan kustom

Kontrol perilaku penskalaan berbasis Pod

Kontrol perilaku penskalaan berbasis node

Add-on cluster-autoscaler terkait