Özet - HPA
- Docker & Kubernetes kursu
- İleri seviye
- Ders 42/70
- 5 dk
YAML, CPU eşiği ve sınırları birleştirerek bir HPA yazarsın.
Özet: HPA
Bu grupta:
- HPA kopya sayısını
ceil(mevcut × değer / hedef)ile hesaplar ve min–max aralığına kırpar. kubectl autoscaleya daautoscaling/v2YAML:scaleTargetRef,minReplicas,maxReplicas,metrics.- CPU yüzdesi
requests.cpu'ya göredir; istek yoksa<unknown>. behaviorile ölçekleme hızı ve küçültme dengeleme penceresi ayarlanır.- metrics-server gerekir; özel ölçümler için Prometheus Adapter ya da KEDA kullanılır.
kubectl autoscale deploy api --cpu-percent=70 --min=2 --max=10
kubectl get hpa -wUygulama CPU ve bellek ölçütü
Bir HPA'nın metrics bölümünü yaz (metrics: ile başlayarak): CPU için type: Utilization, averageUtilization: 70; bellek için type: AverageValue, averageValue: 400Mi.
Başlangıç kodu
# buraya yazÖrnek çözüm
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: AverageValue
averageValue: 400MiBeklenen çıktı
horizontalpodautoscaler.autoscaling/api configured NAME TARGETS REPLICAS api cpu: 42%/70%, memory: 210Mi/400Mi 2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 HPA'nın TARGETS sütununda cpu: <unknown>/70% görünüyor. En olası iki neden hangisidir?
- metrics-server yok ya da container'larda requests.cpu yazılmamış Doğru cevap
- maxReplicas çok düşük
- Image yanlış
- Namespace yanlış
Açıklama: kubectl top pods ile metrics-server, describe hpa ile hata sınanır.
2 Bellek için ortalama değer hedefi ver.
target:
type: ____
averageValue: 400Mi
target:
type: AverageValue
averageValue: 400Mi
Açıklama: AverageValue mutlak değer, Utilization yüzde hedefidir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
HPA |
Yatay |
VPA |
Dikey |
metrics-server |
Ölçüm kaynağı |
behavior |
Hız ayarı |