CodeBlanks Logo Icon CodeBlanks

HPA nedir?

HorizontalPodAutoscaler ile otomatik ölçeklemeyi öğrenirsin.

HPA nedir?

HorizontalPodAutoscaler (HPA), bir Deployment'ın (ya da StatefulSet'in) kopya sayısını yüke göre otomatik değiştirir. Belirli aralıklarla (varsayılan 15 sn) pod'ların ölçümüne bakar ve hedefi tutturmak için gereken kopya sayısını hesaplar:

istenen = ceil( mevcut_kopya × mevcut_değer / hedef_değer )

# 4 kopya, ortalama CPU %90, hedef %60
ceil(4 × 90 / 60) = 6 kopya

"Yatay" ölçekleme pod sayısını değiştirir; "dikey" ölçekleme (VPA) pod başına kaynağı değiştirir.

Komutla HPA

Hızlı bir HPA kubectl autoscale ile oluşturulur. kubectl get hpa mevcut ve hedef değeri yan yana gösterir:

$ kubectl autoscale deployment api --cpu-percent=70 --min=2 --max=10
horizontalpodautoscaler.autoscaling/api autoscaled
$ kubectl get hpa
NAME   REFERENCE        TARGETS       MINPODS   MAXPODS   REPLICAS   AGE
api    Deployment/api   cpu: 35%/70%  2         10        2          1m

Uygulama Otomatik ölçekle

İki komut yaz: api deployment'ı için CPU hedefi %70, en az 2 en fazla 10 kopyalı bir HPA oluştur; HPA'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl autoscale deployment api --cpu-percent=70 --min=2 --max=10
kubectl get hpa

Beklenen çıktı

horizontalpodautoscaler.autoscaling/api autoscaled
NAME   REFERENCE        TARGETS        MINPODS   MAXPODS   REPLICAS   AGE
api    Deployment/api   cpu: 35%/70%   2         10        2          30s

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 3 kopya, ortalama CPU %20, hedef %50 ise HPA kaç kopya ister (minReplicas 1 varsayılırsa)?

  • 6
  • 2 Doğru cevap
  • 3
  • 1

Açıklama: ceil(3 × 20 / 50) = ceil(1.2) = 2.

2 Deployment için otomatik ölçekleme oluştur.

Soru
kubectl ____ deployment api --cpu-percent=70 --min=2 --max=10
Cevap
kubectl autoscale deployment api --cpu-percent=70 --min=2 --max=10

Açıklama: autoscale bir HPA nesnesi oluşturur.

3 Eşleştir.

Kavram Anlamı
HPA Pod sayısını değiştirir
VPA Pod kaynağını değiştirir
TARGETS 35%/70% Mevcut/hedef
15 sn Değerlendirme aralığı

İleri seviye bölümündeki tüm dersler