Özet - StatefulSet
- Docker & Kubernetes kursu
- İleri seviye
- Ders 18/70
- 5 dk
YAML ve volumeClaimTemplate'i birleştirerek bir StatefulSet yazarsın.
Özet: StatefulSet
Bu grupta:
- StatefulSet durumlu uygulamalar içindir: sabit sıralı ad, sabit ağ adı, pod başına kalıcı depolama.
serviceNamebir headless servisi (clusterIP: None) gösterir; pod DNS'idb-0.db.volumeClaimTemplatesher pod için PVC (data-db-0) oluşturur; PVC'ler pod ve StatefulSet silinince kalır.OrderedReadysıralı başlatır, tersten küçültür;Parallelbeklemeden başlatır.- Güncelleme tersten ilerler;
partitionkanarya güncellemesi sağlar.
kubectl get sts,pvc -l app=db
kubectl scale sts db --replicas=5Uygulama Headless servis
Bir Service YAML'ı yaz: adı db; clusterIP: None; selector app: db; port 5432.
Başlangıç kodu
# buraya yazÖrnek çözüm
apiVersion: v1
kind: Service
metadata:
name: db
spec:
clusterIP: None
selector:
app: db
ports:
- port: 5432Beklenen çıktı
service/db created NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE db ClusterIP None <none> 5432/TCP 1s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir web API'si için StatefulSet yerine Deployment seçmenin nedeni nedir?
- Deployment daha az YAML ister
- Kopyalar birbirinin yerine geçer; sabit kimlik ve pod başına disk gerekmez Doğru cevap
- StatefulSet yavaştır
- StatefulSet ölçeklenemez
Açıklama: Durumsuz uygulamalar Deployment ile daha hızlı ve esnek güncellenir.
2 StatefulSet'i ölçekle.
kubectl scale ____ db --replicas=5
kubectl scale sts db --replicas=5
Açıklama: StatefulSet de scale ile ölçeklenir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
StatefulSet |
Durumlu |
Deployment |
Durumsuz |
headless |
Pod DNS kayıtları |
partition |
Kanarya |