CodeBlanks Logo Icon CodeBlanks

LoadBalancer

LoadBalancer service türünü öğrenirsin.

LoadBalancer

LoadBalancer türü, bulut sağlayıcısından (AWS, GCP, Azure) gerçek bir dış yük dengeleyici ister ve ona herkese açık bir IP verir. NodePort'un üstüne kurulur: yük dengeleyici trafiği node portlarına dağıtır.

$ kubectl get svc web
NAME   TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
web    LoadBalancer   10.96.45.12   34.118.22.104   80:31512/TCP   2m

Her LoadBalancer servisi ayrı bir yük dengeleyici (ve ücret) demektir; birden çok HTTP servisi için tek giriş noktası olan Ingress tercih edilir.

Yerelde LoadBalancer

Minikube'de minikube tunnel ayrı bir terminalde çalışırken LoadBalancer servisleri yerel bir IP alır. Çıplak sunucularda (bare metal) bu görevi MetalLB gibi araçlar üstlenir:

# terminal 1
minikube tunnel
# terminal 2
$ kubectl get svc web
NAME   TYPE           EXTERNAL-IP     PORT(S)
web    LoadBalancer   10.96.45.12     80:31512/TCP
$ curl http://10.96.45.12

Uygulama LoadBalancer servisi

Bir Service YAML'ı yaz: adı web, type: LoadBalancer; selector app: web; port port: 80, targetPort: 8080.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  type: LoadBalancer
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080

Beklenen çıktı

service/web created
NAME   TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
web    LoadBalancer   10.96.45.12   34.118.22.104   80:31512/TCP   40s

Soru ve cevaplar

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

1 Minikube'de LoadBalancer servisinin EXTERNAL-IP'si neden <pending> kalır?

  • Pod hazır değil
  • Port çakışması var
  • Yük dengeleyiciyi sağlayacak bir bulut sağlayıcı yok Doğru cevap
  • YAML hatalı

Açıklama: minikube tunnel komutu yerel bir dış IP atar.

2 Servis türünü bulut yük dengeleyicisi yap.

Soru
spec:
  type: ____
Cevap
spec:
  type: LoadBalancer

Açıklama: LoadBalancer bir dış IP ister.

3 Eşleştir.

Kavram Anlamı
LoadBalancer Bulut yük dengeleyicisi
EXTERNAL-IP Herkese açık adres
minikube tunnel Yerel dış IP
MetalLB Çıplak sunucu çözümü

Orta seviye bölümündeki tüm dersler