All Products
Search
Document Center

Container Service for Kubernetes:Sesuaikan parameter kube-scheduler

Last Updated:Sep 17, 2026

Sesuaikan perilaku kube-scheduler—seperti binpack, penjadwalan berbasis beban (load-aware scheduling), preemption, dan lainnya—untuk mengontrol penempatan Pod di kluster Anda.

Prasyarat

Kluster ACK Pro, ACK Edge Pro, ACK Lingjun, atau ACK Serverless Pro yang menjalankan Kubernetes versi 1.20 atau lebih baru telah dibuat. Untuk memperbarui versi Kubernetes, lakukan upgrade kluster secara manual.

Batasan

Versi kube-scheduler yang mendukung parameter kustom di kluster ACK Pro dan kluster ACK Edge Pro bergantung pada versi Kubernetes:

Catatan

Kluster ACK Serverless Pro dan kluster ACK Lingjun yang memiliki kube-scheduler terinstal mendukung parameter kustom.

Versi Kubernetes

Versi kube-scheduler

≥ 1.28

Semua versi

1.26

≥ v1.26.3-aliyun-6.8.7.5a563072

1.24

≥ 1.24.6-ack-3.1

1.22

≥ 1.22.15-ack-2.0

1.20

≥ v1.20.11-9.0-bcaa6001-aliyun

Prosedur

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

  2. Pada halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik namanya. Di panel navigasi kiri, klik Add-ons.

  3. Pada tab Core Components, temukan Kube Scheduler lalu klik Configuration. Konfigurasikan parameter pada kotak dialog Kube Scheduler Parameters.

    Parameter yang tersedia bervariasi tergantung versi kube-scheduler. Untuk fitur spesifik versi, lihat Container Service for Kubernetes:kube-scheduler.

    Parameter

    Deskripsi

    Type

    Nilai valid

    Nilai default

    Enable Virtual Node-based Pod Scheduling

    Menentukan apakah akan menjadwalkan Pod pada node virtual berdasarkan afinitas node dan batasan penyebaran Pod.

    bool

    • true

    • false

    true

    podMaxBackoffSeconds

    Interval backoff maksimum (dalam detik) antara upaya penjadwalan untuk Pod yang gagal. Interval antara dua upaya penjadwalan harus melebihi nilai ini.

    int

    [1,100000]

    10

    Preferably Use Bin Packing During Pod Scheduling

    Menentukan apakah akan mengaktifkan algoritma binpack.

    Untuk contoh konfigurasi, lihat Parameter binpack kustom.

    bool

    • false

    • true

    false

    binpackPluginWeight

    Bobot skor node plug-in binpack. Memerlukan pengaktifan Preferably Use Bin Packing During Pod Scheduling.

    int

    [1,100000]

    100

    binpackResourceWeight

    Bobot setiap resource dalam perhitungan skor node plug-in binpack. Memerlukan pengaktifan Preferably Use Bin Packing During Pod Scheduling.

    • resourceName: string

    • resourceWeight: int

    • resourceName: hanya huruf, angka, titik (.), garis miring (/), dan tanda hubung (-).

    • resourceWeight: bilangan bulat dari 1 hingga 10000.

    • cpu:1

    • memory:1

    scorePluginWeights

    Bobot setiap plug-in penilaian untuk perhitungan skor node.

    Catatan

    Bobot plug-in NodeResourceFit bertentangan dengan bobot plug-in binpack. Jika Anda memilih Preferably Use Bin Packing During Pod Scheduling (Pods Are Evenly Distributed among Nodes When Unselected), jangan atur bobot NodeResourceFit untuk parameter ini.

    • plugin: string

    • weight: int

    • Hanya plug-in yang tersedia dalam daftar drop-down plugin yang dapat digunakan.

    • weight: bilangan bulat dari 1 hingga 10000.

    • plugin: NodeAffinity

    • weight: 100

    percentageOfNodesToScore

    Persentase node yang sesuai untuk penjadwalan Pod.

    Nilai default: 0. Saat diatur ke 0, 5%–50% node dinilai berdasarkan ukuran kluster.

    int

    [0,100]

    0

    Node scoring for GPU sharing

    Saat menggunakan penjadwalan GPU bersama (memerlukan AI suite), menjadwalkan Pod berakselerasi GPU ke GPU dengan permintaan memori dan komputasi yang lebih tinggi.

    bool

    • false

    • true

    true

    Load-aware scoring during pod scheduling (loadAwareResourceWeight)

    Menentukan apakah akan mengaktifkan penjadwalan berbasis beban. Memerlukan komponen ack-koordinator.

    bool

    • false

    • true

    false

    loadAwareThreshold

    Parameter ini menentukan ambang batas untuk penyaringan node.

    Nilainya terdiri dari bidang resourceName dan resourceWeight.

    • resourceName: Nilai yang valid adalah cpu dan memory.

    • threshold: Nilai yang valid berkisar antara 0 hingga 100.

    Secara default, parameter ini dibiarkan kosong, yang berarti penyaringan node dinonaktifkan.

    • resourceName: cpu

    • threshold: 80

    loadAwareResourceWeight

    Parameter ini menentukan bobot resource yang digunakan untuk menghitung skor node dalam pengurutan node. Parameter ini tersedia setelah Anda memilih Specifies whether to enable load-aware node scoring during pod scheduling.

    Nilainya terdiri dari bidang resourceName dan resourceWeight.

    • resourceName: Skema parameter resourceName diverifikasi. Nilainya hanya boleh cpu atau memory.

    • resourceWeight: Nilai yang valid adalah bilangan bulat dari 1 hingga 100.

    cpu=1

    memory=1

    loadAwareAggregatedUsageAggregationType

    Parameter ini menentukan jenis agregasi data untuk statistik. Nilai yang valid:

    • avg: menghitung nilai rata-rata.

    • p50: menghitung 50% dari statistik.

    • p90, p95, dan p99: menghitung 90%, 95%, dan 99% dari statistik.

    enum

    • avg

    • p50

    • p90

    • p95

    • p99

    avg

    preemptionAlgorithm

    ACK Scheduler menentukan apakah akan mengusir Pod prioritas rendah melalui simulasi resource, dengan memprioritaskan startup cepat beban kerja prioritas tinggi. Strategi yang didukung:

    • Default: preemption standar komunitas Kubernetes

    • ElasticQuota: preemption resource berdasarkan ElasticQuotaTree

    • Auto: kebijakan preemption adaptif berdasarkan spesifikasi kluster

    • None: menonaktifkan preemption

    Lihat Aktifkan preemption.

    enum

    • Default

    • ElasticQuota

    • Auto

    • None

    Auto

    enableReservation

    Menentukan apakah akan mengaktifkan pemesanan sumber daya.

    boolean

    • true

    • false

    false

    featureGates

    Feature gate yang diaktifkan oleh penjadwal. Untuk dukungan spesifik versi, lihat dokumentasi kube-scheduler.

    string

    N/A

    ACK menggunakan feature gate yang sama seperti Kubernetes open source.

Contoh berikut menunjukkan konfigurasi binpack sampel.

Parameter binpack kustom

Algoritma binpack vs. spread

Dimensi

binpack

spread

Kebijakan penjadwalan

  • Menjadwalkan Pod ke node dengan utilisasi resource tinggi.

  • Menempatkan beberapa Pod pada node yang sama.

  • Menjadwalkan Pod ke node dengan utilisasi resource terendah.

  • Menyebarluaskan Pod ke berbagai node.

Fitur

Mengurangi fragmentasi resource pada node.

  • Kebijakan penjadwalan Kubernetes default.

  • Menyebarluaskan Pod secara merata di seluruh node kluster.

  • Dapat menyebabkan fragmentasi resource pada node.

Skenario

Paling cocok untuk meningkatkan utilisasi resource node.

Paling cocok untuk beban kerja berdaya tahan tinggi (high-availability).

Konfigurasikan parameter binpack kustom

Pilih Preferably Use Bin Packing During Pod Scheduling dan atur bobot plug-in binpack. Bobot yang lebih besar meningkatkan kemungkinan penempatan beberapa Pod pada node yang sama. Konfigurasikan nama resource dan bobotnya untuk perhitungan skor node. Bobot resource yang lebih besar memberikan pengaruh lebih besar terhadap penjadwalan Pod.

Pada tab Core Components di halaman Add-ons, temukan Kube Scheduler lalu klik Configuration untuk mengonfigurasi parameter binpack.

Parameter

Deskripsi

Preferably Use Bin Packing During Pod Scheduling

Mengaktifkan algoritma binpack.

binpackPluginWeight

Bobot skor node plug-in binpack. Gunakan nilai default dalam sebagian besar kasus. Jika penjadwalan Pod tidak sesuai harapan, tingkatkan bobotnya (misalnya, 200). Lihat binpack weight.

Nama resource dan bobotnya untuk perhitungan skor node binpack.

Lihat Pengaktifan bin packing menggunakan strategi MostAllocated.

  • name dan weight dalam scoringStrategy:resources menentukan bobot setiap resource dalam perhitungan skor node.

  • name dan weight dalam scoringStrategy:resources berkorespondensi dengan resourceName dan resourceWeight di Konsol ACK.

Jika Anda memilih Preferably Use Bin Packing During Pod Scheduling tanpa mengonfigurasi resourceName dan resourceWeight, pengaturan CPU dan memori default seperti di bawah ini akan digunakan untuk perhitungan skor node. Nilai defaultnya adalah resourceName cpu dengan resourceWeight 1, dan resourceName memory dengan resourceWeight 1.

cpu

Referensi

Untuk menjadwalkan Pod berdasarkan penggunaan resource aktual alih-alih jumlah yang diminta, aktifkan penjadwalan berbasis beban.