Dinamik kaynak aşırı tahsisi senaryolarında, yüksek öncelikli (Guaranteed ve Burstable) podlardan arta kalan kullanılmayan CPU kaynakları BestEffort (BE) iş yüklerine atanabilir. CPU Suppress, düğüm kullanımına göre BE podlarının CPU kullanımını dinamik olarak sınırlayarak gecikmeye duyarlı (LS) podlarını korur ve küme kaynak kullanımını güvenli bir eşik içinde tutar.
CPU Suppress özelliğini kullanmak için dinamik kaynak aşırı tahsisini etkinleştirmeniz gerekir.
Çalışma Prensibi
CPU Suppress, düğüm CPU kullanımını yapılandırılabilir bir eşikle (cpuSuppressThresholdPercent, varsayılan: %65) karşılaştırarak izler. BE podlarının cpuset değeri, LS podlarında bulunan boş alana göre genişler veya daralır:
LS yükü arttığında — CPU Suppress, BE podlarının cpuset değerini azaltarak LS yanıt sürelerini korur.
LS yükü azaldığında — CPU Suppress, BE podlarının cpuset değerini genişleterek atıl kapasiteyi geri kazanır.
Aşağıdaki şekil, CPU eşiği, LS pod kullanımı ve BE pod CPU kısıtlaması arasındaki ilişkiyi gösterir.
Şekilde kullanılan terimler şunlardır:
CPU Threshold: Düğüm CPU kullanım eşiği.
Pod (LS).Usage: LS podlarının CPU kullanımı.
CPU Restriction for BE: BE podları için kullanılabilen CPU kaynakları.
cpuSuppressThresholdPercent değerini, dinamik kaynak aşırı tahsisi yapılandırmanızdaki ayrılmış CPU su işareti ile hizalayın.
Ön Koşullar
Aşağıdakilere sahip olduğunuzdan emin olun:
Bir ACK Pro kümesi
ack-koordinator (ack-slo-manager) 0.4.0 veya sonraki bir sürümün yüklü olması
Daha fazla bilgi için Kubernetes belgelerindeki Pod QoS sınıfları ve Konteynerlere ve podlara bellek kaynakları atama konularına bakın.
Faturalama
ack-koordinator'un yüklenmesi ve kullanımı ücretsizdir. Ancak aşağıdaki durumlarda ücretlendirme söz konusu olabilir:
Worker düğüm kaynakları: ack-koordinator yönetilmeyen bir bileşendir. Yüklemesinden sonra worker düğüm kaynaklarını tüketir. Her modül için kaynak isteklerini yükleme sırasında kontrol edebilirsiniz.
Prometheus ölçümleri: ack-koordinator için Prometheus ölçümlerini etkinleştirir ve Managed Service for Prometheus kullanırsanız bu ölçümler özel ölçümler olarak sayılır ve ücrete tabi olur. Ücretler küme boyutuna ve uygulama sayısına bağlıdır. Etkinleştirmeden önce ücretsiz kota ve faturalama kurallarını anlamak için Managed Service for Prometheus Faturalama sayfasını inceleyin. Kullanım izleme için Gözlemlenebilir veri miktarını ve faturaları sorgulama konusuna bakın.
Yordam
CPU Suppress, kube-system ad alanındaki ack-slo-config ConfigMap aracılığıyla küme düzeyinde yapılandırılır.
-
Aşağıdaki içeriğe sahip
configmap.yamladlı bir dosya oluşturun:apiVersion: v1 kind: ConfigMap metadata: name: ack-slo-config namespace: kube-system data: resource-threshold-config: | { "clusterStrategy": { "enable": true } } -
ConfigMap'i uygulayın. Yöntem, kümenizde
ack-slo-configvar olup olmadığına bağlıdır:-
ConfigMap varsa yalnızca ilgili alanı güncellemek için yama (patch) uygulayın:
kubectl patch cm -n kube-system ack-slo-config --patch "$(cat configmap.yaml)" -
ConfigMap yoksa oluşturun:
kubectl apply -f configmap.yaml
-
-
BE podu CPU atamasını kontrol ederek CPU Suppress'in etkin olduğunu doğrulayın:
cat /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-besteffort.slice/cpuset.cpusBeklenen çıktı:
10-25,35-51,62-77,87-103Bu çıktı, BE podlarının bir CPU alt kümesiyle kısıtlandığını ve CPU Suppress'in etkin olduğunu gösterir.
-
İsteğe bağlı: CPU kullanım eşiğini ayarlayın.
configmap.yamldosyasını aşağıdaki içerikle güncelleyin ve yeniden uygulayın:apiVersion: v1 kind: ConfigMap metadata: name: ack-slo-config namespace: kube-system data: resource-threshold-config: | { "clusterStrategy": { "enable": true, "cpuSuppressThresholdPercent": 65 } }Varsayılan değer %65'tir.
cpuSuppressThresholdPercentdeğerini iş yükü profilinize veya dinamik kaynak aşırı tahsisi CPU su işaretinizle hizalayın.
Parametreler
| Parametre | Tür | Değer aralığı | Varsayılan | Açıklama |
|---|---|---|---|---|
enable |
Boolean | true / false |
— | CPU Suppress'i etkinleştirir (true) veya devre dışı bırakır (false). |
cpuSuppressThresholdPercent |
Integer | [0, 100] | 65 |
Düğüm CPU kullanım eşiği (%). Kullanım bu değeri aştığında BE podu CPU kaynakları daralır, düştüğünde ise genişler. |
Sonraki Adımlar
ack-koordinator, aşırı tahsis edilmiş iş yükleri için ek kaynak sınırlamaları sunar: