Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Customize kube-scheduler parameters

Son Güncelleme:Oct 06, 2026

Kümenizdeki pod yerleşimini kontrol etmek için binpack, yük bilinci olan zamanlama, öncelik alma ve diğer kube-scheduler davranışlarını özelleştirin.

Önkoşullar

Kubernetes 1,20 veya üzeri sürümü çalışan bir ACK Pro kümesi, ACK Edge Pro kümesi, ACK Lingjun kümesi veya ACK Serverless Pro kümesi oluşturulmuş olmalıdır. Kubernetes sürümünü güncellemek için kümeyi manuel olarak yükseltin.

Sınırlamalar

ACK Pro kümelerinde ve ACK Edge Pro kümelerinde özel parametreler için desteklenen kube-scheduler sürümleri, Kubernetes sürümüne göre aşağıda listelenmiştir:

Not

kube-scheduler kurulu olan ACK Serverless Pro kümeleri ve ACK Lingjun kümeleri özel parametreleri destekler.


Kubernetes sürümü


kube-scheduler sürümü


≥ 1,28


Tüm sürümler


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

Yordam

  1. ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  2. Clusters sayfasında yönetmek istediğiniz kümeyi bulun ve adına tıklayın. Sol gezinme bölmesinde Add-ons seçeneğine tıklayın.

  3. Core Components sekmesinde Kube Scheduler bileşenini bulun ve Configuration seçeneğine tıklayın. Kube Scheduler Parameters iletişim kutusunda parametreleri yapılandırın.

    Kullanılabilir parametreler kube-scheduler sürümüne göre değişir. Sürüme özgü özellikler için bkz. Container Service for Kubernetes:kube-scheduler.

    Parametre

    Açıklama

    Tür

    Geçerli değer

    Varsayılan değer

    Enable Virtual Node-based Pod Scheduling

    Podların sanal düğümlerde düğüm yakınlığına ve pod yayılım kısıtlamalarına göre zamanlanıp zamanlanmayacağını belirtir.

    bool

    • true

    • false

    true

    podMaxBackoffSeconds

    Başarısız bir pod için zamanlama denemeleri arasındaki maksimum geri çekilme aralığı (saniye cinsinden). İki zamanlama denemesi arasındaki süre bu değeri aşmalıdır.

    int

    [1,100000]

    10

    Preferably Use Bin Packing During Pod Scheduling

    Binpack algoritmasının etkinleştirilip etkinleştirilmeyeceğini belirtir.

    Örnek yapılandırmalar için bkz. Özel binpack parametreleri.

    bool

    • false

    • true

    false

    binpackPluginWeight

    Binpack eklentisi düğüm puanının ağırlığı. Preferably Use Bin Packing During Pod Scheduling seçeneğinin etkinleştirilmesini gerektirir.

    int

    [1,100000]

    100

    binpackResourceWeight

    Binpack eklentisi düğüm puanı hesaplamasında her kaynağın ağırlığı. Preferably Use Bin Packing During Pod Scheduling seçeneğinin etkinleştirilmesini gerektirir.

    • resourceName: string

    • resourceWeight: int

    • resourceName: yalnızca harfler, rakamlar, nokta (.), eğik çizgi (/) ve kısa çizgi (-).

    • resourceWeight: 1 ile 10000 arasında bir tamsayı.

    • cpu:1

    • memory:1

    scorePluginWeights

    Düğüm puanı hesaplaması için her bir puanlama eklentisinin ağırlığı.

    Not

    NodeResourceFit eklenti ağırlığı, binpack eklenti ağırlığı ile çakışır. Bu parametre için Preferably Use Bin Packing During Pod Scheduling (Pods Are Evenly Distributed among Nodes When Unselected) seçeneğini belirlediyseniz NodeResourceFit ağırlığı ayarlamayın.

    • plugin: string

    • weight: int

    • Yalnızca plugin açılır listesindeki eklentiler kullanılabilir.

    • weight: 1 ile 10000 arasında bir tamsayı.

    • plugin: NodeAffinity

    • weight: 100

    percentageOfNodesToScore

    Pod zamanlaması için uygun düğümlerin yüzdesi.

    Varsayılan değer: 0. 0 olarak ayarlandığında, küme boyutuna bağlı olarak düğümlerin %5–%50'si puanlanır.

    int

    [0,100]

    0

    Node scoring for GPU sharing

    Paylaşılan GPU zamanlaması kullanılırken (AI paketi gerektirir), GPU hızlandırmalı podları daha yüksek bellek ve hesaplama isteğine sahip GPU'lara zamanlar.

    bool

    • false

    • true

    true

    Load-aware scoring during pod scheduling (loadAwareResourceWeight)

    Yük bilinci olan zamanlamanın etkinleştirilip etkinleştirilmeyeceğini belirtir. ack-koordinator bileşenini gerektirir.

    bool

    • false

    • true

    false

    loadAwareThreshold

    Bu parametre, düğüm filtreleme için eşik değerini belirtir.

    Değer, resourceName ve resourceWeight alanlarından oluşur.

    • resourceName: Geçerli değerler cpu ve memory değerleridir.

    • threshold: Geçerli değerler 0 ile 100 arasındadır.

    Varsayılan olarak bu parametre boş bırakılır; bu durum düğüm filtrelemeyi devre dışı bırakır.

    • resourceName: cpu

    • threshold: 80

    loadAwareResourceWeight

    Bu parametre, düğüm sıralaması için düğüm puanını hesaplamak üzere kullanılan kaynak ağırlığını belirtir. Bu parametre, Specifies whether to enable load-aware node scoring during pod scheduling seçeneğini belirledikten sonra kullanılabilir hale gelir.

    Değer, resourceName ve resourceWeight alanlarından oluşur.

    • resourceName: resourceName parametresinin şeması doğrulanır. Değerler yalnızca cpu veya memory olabilir.

    • resourceWeight: Geçerli değerler 1 ile 100 arasındaki tamsayılardır.

    cpu=1

    memory=1

    loadAwareAggregatedUsageAggregationType

    Bu parametre, istatistikler için veri toplama türünü belirtir. Geçerli değerler:

    • avg: ortalama değeri hesaplar.

    • p50: istatistiklerin %50'sini hesaplar.

    • p90, p95 ve p99: istatistiklerin %90'ını, %95'ini ve %99'unu hesaplar.

    enum

    • avg

    • p50

    • p90

    • p95

    • p99

    avg

    preemptionAlgorithm

    ACK Scheduler, kaynak simülasyonu yoluyla düşük öncelikli podların tahliye edilip edilmeyeceğini belirleyerek yüksek öncelikli iş yüklerinin hızlı başlatılmasına öncelik verir. Desteklenen stratejiler:

    • Default: Kubernetes topluluk standardı öncelik alma

    • ElasticQuota: ElasticQuotaTree tabanlı kaynak öncelik alma

    • Auto: Küme teknik özelliklerine dayalı uyarlamalı öncelik alma ilkesi

    • None: Öncelik almayı devre dışı bırakır

    Bkz. Öncelik almayı etkinleştirme.

    enum

    • Default

    • ElasticQuota

    • Auto

    • None

    Auto

    enableReservation

    Kaynak rezervasyonunun etkinleştirilip etkinleştirilmeyeceğini belirtir.

    boolean

    • true

    • false

    false

    featureGates

    Zamanlayıcı tarafından etkinleştirilen özellik kapıları. Sürüme özgü destek için bkz. kube-scheduler belgeleri.

    string

    Yok

    ACK, açık kaynaklı Kubernetes ile aynı özellik kapılarını kullanır.

Aşağıdaki örnek, örnek bir binpack yapılandırmasını göstermektedir.

Özel binpack parametreleri

Binpack ve yayılım algoritmaları

Boyut

binpack

yayılım

Zamanlama ilkesi

  • Podları yüksek kaynak kullanımına sahip düğümlere zamanlar.

  • Birden çok podu aynı düğümde birlikte konumlandırır.

  • Podları en düşük kaynak kullanımına sahip düğümlere zamanlar.

  • Podları farklı düğümler arasında dağıtır.

Özellik

Düğümlerdeki kaynak parçalanmasını azaltır.

  • Varsayılan Kubernetes zamanlama ilkesidir.

  • Podları küme düğümlerine eşit şekilde dağıtır.

  • Düğümlerde kaynak parçalanmasına neden olabilir.

Senaryolar

Düğüm kaynak kullanımını iyileştirmek için en uygun seçenektir.

Yüksek kullanılabilirlik gerektiren iş yükleri için en uygun seçenektir.

Özel binpack parametrelerini yapılandırma

Preferably Use Bin Packing During Pod Scheduling seçeneğini belirleyin ve binpack eklentisi ağırlığını ayarlayın. Daha yüksek bir ağırlık, podların aynı düğümde birlikte konumlandırılma olasılığını artırır. Düğüm puanı hesaplaması için kaynak adlarını ve ağırlıklarını yapılandırın. Daha yüksek bir kaynak ağırlığı, o kaynağın pod zamanlaması üzerindeki etkisini artırır.

Add-ons sayfasının Core Components sekmesinde Kube Scheduler bileşenini bulun ve binpack parametrelerini yapılandırmak için Configuration seçeneğine tıklayın.

Parametre

Açıklama

Preferably Use Bin Packing During Pod Scheduling

Binpack algoritmasını etkinleştirir.

binpackPluginWeight

Binpack eklentisi düğüm puanının ağırlığı. Çoğu durumda varsayılan değeri kullanın. Pod zamanlaması beklendiği gibi gerçekleşmezse ağırlığı artırın (örneğin, 200). Bkz. binpack ağırlığı.

Binpack düğüm puanı hesaplaması için kaynak adları ve ağırlıkları.

Bkz. MostAllocated stratejisi kullanılarak bin packing etkinleştirme.

  • name ve weight içindeki scoringStrategy:resources, her kaynağın düğüm puanı hesaplamasındaki ağırlığını belirtir.

  • name ve weight içindeki scoringStrategy:resources, ACK konsolundaki resourceName ve resourceWeight ile eşleşir.

Preferably Use Bin Packing During Pod Scheduling seçeneğini belirler ancak resourceName ve resourceWeight parametrelerini yapılandırmazsanız, düğüm puanı hesaplaması için aşağıda gösterilen varsayılan CPU ve bellek ayarları kullanılır. Varsayılanlar, resourceWeight değeri 1 olan resourceName cpu ve resourceWeight değeri 1 olan resourceName memory şeklindedir.

cpu

Referanslar

Podları istenen miktarlar yerine gerçek kaynak kullanımına göre zamanlamak için yük bilinci olan zamanlamayı etkinleştirin.