全部产品
Search
文档中心

Container Service for Kubernetes:Sesuaikan parameter kube-scheduler

更新时间:Nov 29, 2025

Anda dapat memodifikasi parameter kustom kube-scheduler untuk menyesuaikan perilakunya, sehingga memungkinkan pengontrolan penjadwalan Pod sesuai kebutuhan—misalnya, dengan mengaktifkan kebijakan Binpack atau penjadwalan berbasis beban.

Prasyarat

Anda telah membuat ACK Managed Cluster Pro, ACK Edge Cluster Pro, ACK LINGJUN Cluster, atau ACK Serverless Cluster Pro versi 1.20 atau yang lebih baru. Untuk melakukan upgrade kluster, lihat Upgrade kluster secara manual.

Batasan

Untuk kluster managed ACK Pro dan kluster Edge ACK Pro, scheduler harus memenuhi persyaratan versi berikut agar mendukung parameter kustom.

Catatan

Semua kluster Serverless ACK Pro dan LINGJUN Clusters yang telah menginstal kube-scheduler mendukung parameter kustom.

Versi kluster

Versi scheduler yang mendukung parameter kustom

1.28 atau yang lebih baru

Semua versi didukung

1.26

v1.26.3-aliyun-6.8.7.5a563072 atau yang lebih baru

1.24

v1.24.6-ack-3.1 atau yang lebih baru

1.22

v1.22.15-ack-2.0 atau yang lebih baru

1.20

v1.20.11-9.0-bcaa6001-aliyun atau yang lebih baru

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 komponen kube-scheduler lalu klik Configure di pojok kanan bawah kartu tersebut. Pada kotak dialog yang muncul, konfigurasikan parameter-parameter tersebut.

    Fitur yang didukung dan parameter kustom bervariasi tergantung pada versi scheduler. Untuk informasi selengkapnya mengenai fitur yang didukung oleh berbagai versi scheduler, lihat kube-scheduler. Tabel berikut menjelaskan parameter kustom beserta penggunaannya.

    Item konfigurasi

    Deskripsi

    Tipe

    Nilai (Rentang)

    Nilai default

    Enable Virtual Node Scheduling

    Jika diaktifkan, penjadwalan Pod pada virtual node mengikuti semantik seperti node affinity dan anti-affinity.

    bool

    • true

    • false

    true

    podMaxBackoffSeconds

    Durasi backoff maksimum dalam detik untuk Pod yang gagal dijadwalkan.

    int

    [1,100000]

    10

    Enable Binpack Policy For Pod Scheduling

    Mengaktifkan atau menonaktifkan kebijakan Binpack.

    Untuk contoh konfigurasi, lihat bagian Parameter kustom Binpack di bawah.

    bool

    • false

    • true

    false

    binpackPluginWeight

    Bobot plugin Binpack relatif terhadap plugin scoring lainnya. Ini memerlukan opsi Enable Binpack Policy For Pod Scheduling dipilih.

    int

    [1,100000]

    100

    binpackResourceWeight

    Bobot setiap tipe resource selama proses scoring plugin Binpack. Ini memerlukan opsi Enable Binpack Policy For Pod Scheduling dipilih.

    • resourceName: string

    • resourceWeight: int

    • resourceName divalidasi oleh skema. Hanya boleh berisi huruf, angka, titik (.), garis miring (/), dan tanda hubung (-).

    • resourceWeight adalah bilangan bulat dari 1 hingga 10000.

    • cpu:1

    • memory:1

    scorePluginWeights

    Bobot setiap plugin selama proses scoring.

    Catatan

    Bobot plugin NodeResourceFit bertentangan dengan bobot plugin Binpack. Jika Anda memilih Enable Binpack Policy For Pod Scheduling, jangan konfigurasikan bobot untuk plugin NodeResourceFit dalam pengaturan ini.

    • plugin: string

    • weight: int

    • plugin: Hanya plugin dari daftar publik yang didukung.

    • weight: Bilangan bulat dari 1 hingga 10000.

    • plugin: NodeAffinity

    • weight: 100

    percentageOfNodesToScore

    Persentase node yang dapat dijalankan untuk dinilai selama penjadwalan.

    Nilai default adalah 0, yang berarti scheduler menilai persentase default node. Persentase default ini ditentukan oleh ukuran kluster dan berkisar antara 5% hingga 50%.

    int

    [0,100]

    0

    Enable Scoring For The Shared GPU Plugin

    Saat menggunakan fitur shared GPU (penjadwalan shared GPU memerlukan AI suite), scheduler memprioritaskan GPU dengan permintaan memori GPU dan daya komputasi yang lebih tinggi saat menjadwalkan Pod GPU.

    bool

    • false

    • true

    true

    Enable Load-aware Scoring For Pod Scheduling (loadAwareResourceWeight)

    Mengaktifkan penjadwalan berbasis beban. Ini memerlukan komponen ack-koordinator diinstal.

    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 dari 0 hingga 100.

    Secara default, parameter ini dibiarkan kosong, yang menonaktifkan penyaringan node.

    • resourceName: cpu

    • threshold: 80

    loadAwareResourceWeight

    Nilainya terdiri dari bidang resourceName dan resourceWeight.

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

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

    • cpu=1

    • memory=1

    loadAwareAggregatedUsageAggregationType

    enum

    • avg

    • p50

    • p90

    • p95

    • p99

    avg

    preemptionAlgorithm

    ACK Scheduler menggunakan simulasi resource untuk menentukan apakah akan mengusir Pod prioritas rendah guna memastikan peluncuran cepat tugas prioritas tinggi. Kebijakan yang didukung adalah:

    • Default: Mekanisme preemption default Kubernetes.

    • ElasticQuota: Preemption berdasarkan ElasticQuotaTree.

    • Auto: Menyesuaikan kebijakan preemption berdasarkan konfigurasi kluster.

    • None: Dinonaktifkan.

    Untuk informasi selengkapnya, lihat Aktifkan preemption.

    enum

    • Default

    • ElasticQuota

    • Auto

    • None

    Auto

    enableReservation

    Mengaktifkan fitur pemesanan sumber daya.

    boolean

    • true

    • false

    false

    featureGates

    Feature gates yang diaktifkan untuk scheduler. Untuk feature gates yang didukung tiap versi, lihat dokumentasi resmi Kubernetes untuk kube-scheduler.

    string

    Tidak berlaku.

    Sama dengan feature gates komunitas Kubernetes.

Contoh berikut menunjukkan cara menggunakan parameter kustom.

Parameter kustom Binpack

Perbandingan antara kebijakan Binpack dan Spread

Dimensi

Kebijakan Binpack

Kebijakan Penyebaran

Kebijakan penjadwalan

  • Memrioritaskan penjadwalan Pod pada node dengan konsumsi resource lebih tinggi.

  • Beberapa Pod diutamakan dijadwalkan ke node yang sama.

  • Memrioritaskan penjadwalan Pod pada node dengan konsumsi resource terendah.

  • Beberapa Pod disebar ke node yang berbeda.

Karakteristik

Mengurangi fragmentasi resource pada node.

  • Kebijakan Spread adalah kebijakan penjadwalan resource default di Kubernetes.

  • Kebijakan ini mendistribusikan resource kluster secara merata ke semua node.

  • Hal ini dapat menyebabkan lebih banyak fragmentasi resource pada node individual.

Skenario

Skema yang memerlukan utilisasi node tinggi.

Skenario yang memerlukan ketersediaan tinggi node.

Gunakan parameter kustom Binpack

Anda dapat mengaktifkan kebijakan Binpack untuk penjadwalan Pod dengan mengaktifkan Enable Binpack Policy For Pod Scheduling. Anda juga dapat mengatur bobot plugin scoring Binpack relatif terhadap plugin lainnya. Bobot yang lebih tinggi meningkatkan kemungkinan Pod dijadwalkan ke node yang sama. Selain itu, Anda dapat mengonfigurasi nama dan bobot resource yang digunakan plugin Binpack untuk scoring. Bobot resource yang lebih tinggi memberikan pengaruh lebih besar terhadap keputusan penjadwalan.

Pada halaman Component Management, buka tab Core Components. Temukan komponen kube-scheduler lalu klik Configure. Pada kotak dialog, konfigurasikan parameter kustom terkait Binpack.

Item konfigurasi

Contoh deskripsi

Enable Binpack Policy For Pod Scheduling

Nyalakan sakelar tersebut.

binpackPluginWeight

Konfigurasikan bobot untuk Binpack. Biasanya Anda tidak perlu mengubah nilai ini. Jika kebijakan Binpack tidak berlaku setelah diaktifkan, Anda dapat menaikkan bobotnya, misalnya menjadi 200. Untuk informasi selengkapnya, lihat binpack weight.

Kebijakan Binpack untuk resource berbeda

Untuk contoh konfigurasi lengkap, lihat Enabling bin packing using MostAllocated strategy.

  • Pada scoringStrategy:resources, name dan weight merepresentasikan kepentingan relatif resource berbeda selama proses Binpack.

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

Jika Anda mengaktifkan Enable Binpack Policy For Pod Scheduling tetapi tidak mengonfigurasi resourceName atau resourceWeight untuk binpackResourceWeight, sistem akan menggunakan pengaturan Binpack default untuk CPU dan memory. Hal ini setara dengan konfigurasi berikut.

cpu

Referensi

Fitur penjadwalan berbasis beban memungkinkan Anda menjadwalkan Pod ke node berdasarkan penggunaan resource aktualnya, bukan berdasarkan resource yang diminta. Untuk informasi selengkapnya, lihat Gunakan penjadwalan berbasis beban.