Deployment nedir?
- Docker & Kubernetes kursu
- Orta seviye
- Ders 25/82
- 4 dk
Deployment'ın Pod'ları yönettiğini öğrenirsin.
Deployment nedir?
Deployment, durumsuz (stateless) uygulamaları çalıştırmanın standart yoludur. Sen istenen pod şablonunu ve kopya sayısını verirsin; Deployment bir ReplicaSet oluşturur, ReplicaSet de pod'ları. Image'ı değiştirdiğinde Deployment yeni bir ReplicaSet açıp eski pod'ları kademeli olarak yenileriyle değiştirir.
Deployment (web)
└── ReplicaSet (web-7c5b9f6d8)
├── Pod web-7c5b9f6d8-abcde
├── Pod web-7c5b9f6d8-fghij
└── Pod web-7c5b9f6d8-klmnoHiyerarşiyi görmek
Üç seviyeyi birlikte listelemek ve sahiplik zincirini görmek için:
$ kubectl get deploy,rs,pods -l app=web
NAME READY UP-TO-DATE AVAILABLE
deployment.apps/web 3/3 3 3
NAME DESIRED CURRENT READY
replicaset.apps/web-7c5b9f6d8 3 3 3
$ kubectl get pod web-7c5b9f6d8-abcde -o jsonpath='{.metadata.ownerReferences[0].kind}'
ReplicaSetUygulama Deployment oluştur
İki komut yaz: api:1.0 image'ıyla 2 kopyalı api deployment'ı oluştur; ardından app=api etiketli deployment, ReplicaSet ve pod'ları tek komutta listele.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl create deployment api --image=api:1.0 --replicas=2
kubectl get deploy,rs,pods -l app=apiBeklenen çıktı
deployment.apps/api created NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/api 2/2 2 2 12s NAME DESIRED CURRENT READY AGE replicaset.apps/api-5d8f7c9b4 2 2 2 12s NAME READY STATUS RESTARTS AGE pod/api-5d8f7c9b4-qrstu 1/1 Running 0 12s pod/api-5d8f7c9b4-vwxyz 1/1 Running 0 12s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Pod adındaki web-7c5b9f6d8-abcde parçalarından 7c5b9f6d8 neyi gösterir?
- Node adını
- Image sürümünü
- Rastgele bir sayı
- Pod şablonunun özetinden türeyen ReplicaSet kimliğini Doğru cevap
Açıklama: Şablon değişince yeni özet, yeni ReplicaSet demektir.
2 Deployment, ReplicaSet ve pod'ları birlikte listele.
kubectl get deploy,____,pods -l app=web
kubectl get deploy,rs,pods -l app=web
Açıklama: rs, replicasets'in kısaltmasıdır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
Deployment |
Sürüm ve güncelleme yönetir |
ReplicaSet |
Kopya sayısını korur |
Pod |
Container'ları çalıştırır |
ownerReferences |
Sahiplik zinciri |