Ücretsiz ders · CKAD Hazırlık Programı · Modül 3: Uygulama dağıtımı
Yayınları, Duraklatmaları ve Geri Almaları Yönetmek
Deploymentler strateji kurulu ve problar dürüstken kesintisiz yeni imaj yayınlar. Bu ders tam yaşam döngüsünü çalıştırır: yayınla, izle, duraklat ve geçmiş korunarak geri çekil.
11 dk okuma
Kazanımlar
- maxSurge artı maxUnavailable ile sunmaya devam eden dönerek güncelleme koşturmak
- Yayını yarı yolda duraklatıp incelemek, sonra sürdürmek veya geri almak
- Yayın geçmişini okuyup kayıtlı her revizyona dönmek
- Geri almanın yanlış, ileriye yayınlamanın doğru olduğunu söylemek
Neden önemli
Her üretim dağıtımı bir yayındır ve her kötü dağıtım duraklatma veya geri almaya dönüşür. Sınav komutları ölçer ama gerçek beceri sıradır: değiştir, yeni kopyaları hazırlığa karşı gözle, veriyle karar ver. Yayınlar adımlar atlanınca dağınık bozulur.
Kavramlar
Dönerek güncelleme podları iki sınırda azar azar değiştirir: maxSurge kopya sayısının üstünde kaç fazla pod olabileceğini, maxUnavailable kaçının kapalı kalabileceğini sınırlar. Akıllı varsayılanlar (yüzde 25er veya küçük filolar için açık küçük sayılar) kapasiteyi hep sunar tutar. Strateji Deployment bildiriminde durur; her şeyle birlikte sürümlenir.
kubectl rollout pause güncellemeyi eski ve yeni kopyalar yan yanayken dondurur: yeni podlara tüm trafik gitmeden duman sınamalarını koşturma anıdır. kubectl rollout resume sürdürür; kubectl rollout undo önceki revizyona döner ve --to-revision=N kayıtlı herhangi birini seçer. kubectl rollout history revizyonları listeler (--revision ayrıntılı), --record dönemi komutları gitti: modern geçmiş denetleyicinin tuttuğu revizyon açıklamalarından gelir.
Geri alma her zaman yanıt değildir. Bozuk veri taşıması eski imajı geri koyunca geri koşmaz; iki revizyonun paylaştığı bozuk yapılandırma aynı arızaya geri döner. Yeni revizyon sorunsa ve eskisi bilinen iyiyse çekil; düzeltme küçükse ve eski durum dönemezse ileriye yayınla.
Uygulamalı örnek
2.4 üstüne 2.5 imajı gönder, izle, duraklat, karar ver:
kubectl set image deployment/web web=web:2.5
kubectl rollout status deployment/web
kubectl get pods -w # yeni kopyalar belirir, eskiler çekilir
# şüphe mi? dondur
kubectl rollout pause deployment/web
kubectl exec deploy/web -- wget -qO- localhost:8080/healthz
kubectl rollout resume deployment/web # sağlıklı: sürdür
# ya da: kubectl rollout undo deployment/web # hasta: çekil
kubectl rollout history deployment/webDuraklatma penceresi yargının yaşadığı yerdir: yeni podlara trafik biçimli gerçek kontroller, fazlara bakmak değil.
Sınav notları
Hazırlık probsuz yayın, yeni podlar çökerken zafer ilan eder: problar dönerek güncellemeleri dürüst kılar. Argümansız rollout undo bir adım döner; derinlik varsaymak yerine bilinçli zincirle. Ve duraklatılmış yayınlar sürdürülüp geri alınana kadar sonraki imaj değişikliklerini engeller; duraklatmayı unutursan takılmış dağıtım gibi okunur.
Mini kontrol
4 soruluk öz kontrol. Yanıtların cihazında kalır, saklanmaz ve gönderilmez. Yalnızca geçen skor (ör. 4 soruda 3) kaydedilir ve yalnızca ders ilerlemesinin kilidini açmak için: bir dersin tamamlanmış sayılması için en az 3 doğru gerekir. Hiçbir sertifika değerlendirmesine sayılmaz.
Ders geri bildirimi
Henüz yayında geri bildirim yok.
Geri bildirim yazmak için giriş yap ve dersi tamamla.
Kaynaklar
Alıştırma
Yeni imaj gönderiminin komut dizisini yayın arası sağlık kapısıyla yaz: imajı kur, izle, duraklat, beklenen çıktılı bir exec kontrolü, sonra iki dal (sürdür ve geri al). exec kontrolünün neyi kanıtladığını ve kararını neyin çevirdiğini söyle.
Geçme kriterleri
Dizi karar öncesi duraklatmayla eksiksiz; exec kontrolü somut uç nokta artı beklenen çıktı taşır; sürdür ve geri al dalları kontrol sonucuna bağlıdır.