CPU eşiği
- Docker & Kubernetes kursu
- İleri seviye
- Ders 39/70
- 4 dk
CPU yüzdesine göre ölçeklemeyi öğrenirsin.
CPU eşiği
CPU yüzdesi, pod'un istediği (requests.cpu) değere göre hesaplanır, node kapasitesine göre değil. Bu yüzden HPA'nın çalışması için hedef container'larda CPU isteği yazılı olmalıdır; yoksa TARGETS sütununda <unknown> görülür:
resources:
requests:
cpu: 200m
# pod 150m kullanıyorsa kullanım %75
$ kubectl get hpa
NAME TARGETS REPLICAS
api cpu: <unknown>/70% 2 # requests yok!Eşik seçimi
Hedef çok yüksekse (%95) ani yükte yeni pod'lar hazır olana kadar mevcutlar boğulur; çok düşükse (%30) gereksiz kaynak harcanır. Yeni pod'un açılma süresi ne kadar uzunsa hedef o kadar düşük seçilir. %60–75 sık kullanılan bir aralıktır.
$ kubectl describe hpa api | grep -A3 Conditions
AbleToScale True ReadyForNewScale
ScalingActive True ValidMetricFound
ScalingLimited False DesiredWithinRangeUygulama İstekli container
Bir Deployment'ın container bölümünü yaz (containers: ile başlayarak): container adı api, image api:1.0; resources.requests cpu: 200m, memory: 256Mi; resources.limits cpu: "1".
Başlangıç kodu
# buraya yazÖrnek çözüm
containers:
- name: api
image: api:1.0
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: "1"Beklenen çıktı
deployment.apps/api configured $ kubectl get hpa api NAME TARGETS REPLICAS api cpu: 42%/70% 2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 requests.cpu: 500m olan ve 400m kullanan bir pod'un CPU kullanımı yüzde kaçtır?
- %40
- %125
- %20
- %80 Doğru cevap
Açıklama: 400 / 500 = 0.8.
2 HPA'nın hesap yapabilmesi için CPU isteği yaz.
resources:
____:
cpu: 200m
resources:
requests:
cpu: 200m
Açıklama: Utilization requests'e göre hesaplanır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
requests.cpu |
Yüzde tabanı |
<unknown> |
İstek ya da ölçüm yok |
yüksek hedef |
Ani yükte boğulma |
düşük hedef |
Kaynak israfı |