Ücretsiz ders · CKAD Hazırlık Programı · Modül 3: Uygulama dağıtımı
Canary ve Blue-Green Sürüm Çıkarmak
Dönerek güncellemeler her şeyi azar azar değiştirir; canary ve blue-green maruziyeti bilinçli değiştirir. Bu ders ikisini de servis ağı olmadan sade Deployment artı Servis ile kurar.
12 dk okuma
Kazanımlar
- İki revizyon arası trafiği bölerek canary koşturmak
- Servis seçici çevirmesiyle blue-green geçişi kesmek
- İki stratejiyi etki alanı artı geri alma bedelinde karşılaştırmak
- Devam etmeden her aşamayı uç nokta ve sürüm kontrolleriyle doğrulamak
Neden önemli
Bazı sürümler dönerek güncellemenin verdiğinden fazla özen ister: yeni fiyat mantığı, yeniden yazılmış kimlik yolları, arıza kipi çökme değil yanlış yanıt olan her şey. Canary kitleyi sınırlar; blue-green geçişi tek atomik ana indirir. İkisi de sınavın sevdiğidir, çünkü zaten bildiğin ilkellerden kurulur.
Kavramlar
Canary yeni revizyonu eskinin yanında tek Servis altında koşturur; kopya sayılarına göre böler: 9 eski artı 1 yeni trafiğin kabaca onda birini canarye gönderir. Küçük dilimde hata oranlarını ve iş ölçütlerini izle, sonra büyüt (8/2, 5/5, 0/10) veya sil. Servis seçici paylaşılan etiketlerle iki Deploymente de uyar; numara budur.
Blue-green iki tam ortam koşturur ve Servis seçiciyi mavi etiketlerden yeşil etiketlere tek uygulamada çevirir. Geri alma ters çevirmedir, anında ve tam. Bedeli geçişte iki kat kapasite artı iki yığını gerçekten aynı tutma disiplinidir.
Arıza şekline göre seç. Davranış riski gerçek trafikte ölçülmek istenen, etki alanı sınırlı işlerde canary. Kısmi maruziyetin yokluğundan kötü olduğu işlerde (şemaya bağlı değişiklikler, durumlu akışlar) ve kademeli çekilmeden anında çekilmenin yeğ olduğu yerde blue-green.
Uygulamalı örnek
Aynı uygulama, iki revizyon, tek servis, önce canary:
# kararlı yüzde 100 sunar
kubectl create deployment shop-blue --image=shop:3.1 --replicas=4
kubectl expose deployment shop-blue --port=80 # seçici app=shop
# canary aynı servise katılır
kubectl create deployment shop-canary --image=shop:3.2 --replicas=1
kubectl label deployment shop-canary app=shop
kubectl get endpoints shop # beş adres: dördü mavi, biri canary
# yükselt: canaryi büyüt, maviyi küçült, maviyi kaldır
kubectl scale deployment shop-canary --replicas=4
kubectl scale deployment shop-blue --replicas=0Uç noktalar bölünmeyi her aşamada kanıtlar: değiştirmeden önce mavi ve canary adresleri say. Blue-green için aynı iki Deployment farklı seçiciler alır, Servis tek düzenlenen seçiciyle aralarında döner.
Sınav notları
Kopya sayılı bölme yaklaşıktır, tam yüzde değil: kabaca de, asla tam deme. Seçici çakışması klasik kırılmadır: fazla etiket paylaşan canary tüm trafiği çalar veya hiç almaz. Ve eski revizyonu sıfıra ölçeklemek anında geri almayı yaşatır; silmek güvenlik ağını bitirir.
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
Kurgusal kasa değişikliği için canary tasarla: aşama başına kopya sayıları, her aşamada ne ölçtüğün ve tam geri alma komutu. Sonra tek cümleyle bunun yerine ne zaman blue-green seçeceğini söyle.
Geçme kriterleri
Aşamalar sayılı artı aşama başına ölçütlü; geri alma servise dokunmadan canaryi sıfırlamadır (veya silmedir); blue-green koşulu atomik geçiş veya bağlı durum gerekçesi taşır.