CodeBlanks Logo Icon CodeBlanks

Metrics server

Metrics server'ın HPA için gerekli olduğunu öğrenirsin.

Metrics server

HPA, CPU ve bellek ölçümlerini metrics-server'dan alır; metrics-server da her node'daki kubelet'ten toplar. Kurulu değilse HPA hiçbir şey yapamaz ve kubectl top çalışmaz:

$ kubectl top pods
error: Metrics API not available

minikube addons enable metrics-server
# ya da
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

$ kubectl top pods -l app=api
NAME                  CPU(cores)   MEMORY(bytes)
api-7f8c9d6b5-abcde   142m         180Mi

Yük altında sınamak

HPA'yı görmek için yapay yük üretilir ve -w ile izlenir. Ölçüm toplama ve karar aralıkları nedeniyle tepki bir iki dakika sürebilir:

kubectl run yuk --image=busybox:1.36 --restart=Never -- \
  sh -c "while true; do wget -q -O- http://api:8000/; done"
kubectl get hpa api -w
NAME   TARGETS         REPLICAS
api    cpu: 38%/70%    2
api    cpu: 156%/70%   2
api    cpu: 156%/70%   5
api    cpu: 64%/70%    5
kubectl delete pod yuk

Uygulama Yük testi

Üç komut yaz: Minikube'de metrics-server eklentisini aç; app=api etiketli pod'ların kaynak kullanımını göster; api HPA'sını canlı izle.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
minikube addons enable metrics-server
kubectl top pods -l app=api
kubectl get hpa api -w

Beklenen çıktı

🌟  The 'metrics-server' addon is enabled
NAME                  CPU(cores)   MEMORY(bytes)
api-7f8c9d6b5-abcde   312m         190Mi
NAME   REFERENCE        TARGETS         MINPODS   MAXPODS   REPLICAS
api    Deployment/api   cpu: 156%/70%   2         10        2
api    Deployment/api   cpu: 156%/70%   2         10        5

Soru ve cevaplar

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

1 İstek sayısı gibi uygulama ölçümlerine göre ölçeklemek için ne gerekir?

  • Ölçeklenemez
  • Prometheus Adapter ya da KEDA gibi bir özel ölçüm sağlayıcı Doğru cevap
  • Yalnızca metrics-server
  • Daha büyük node'lar

Açıklama: metrics-server yalnızca CPU ve bellek sağlar.

2 Pod'ların anlık kaynak kullanımını göster.

Soru
kubectl ____ pods -l app=api
Cevap
kubectl top pods -l app=api

Açıklama: kubectl top metrics-server verisini okur.

3 Eşleştir.

Kavram Anlamı
metrics-server CPU/bellek ölçümü
Metrics API not available metrics-server yok
KEDA Olay tabanlı ölçekleme
hpa -w Ölçeklemeyi izle

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