Dağıtım Stratejileri: Blue-Green ve Canary
Aşamalı güncellemelerin ötesine geçin ve Kubernetes'te blue-green ile canary dağıtım örüntülerini kullanarak güvenli biçimde yayımlamayı öğrenin.
Dağıtım Stratejileri: Blue-Green ve Canary, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
Neden Yalnızca Aşamalı Güncellemelerle Yetinilmemeli?
Aşamalı güncellemeler Pod'ları kademeli olarak değiştirir, ancak geçiş sırasında eski ve yeni sürümleri birlikte kullanır. Riskli sürümlerde, yeni sürümü hangi kullanıcıların göreceği üzerinde tam denetim isteyebilirsiniz.
Mavi-yeşil ve kanarya stratejileri bu denetimi sağlar.
Mavi-Yeşil Yaklaşımı
Mavi-yeşil dağıtımda iki özdeş ortam çalıştırırsınız:
- Mavi = mevcut etkin sürüm
- Yeşil = tamamen dağıtılmış, ancak henüz trafik almayan yeni sürüm
Trafiği maviden yeşile tek seferde yönlendirirsiniz.
İki Dağıtım, Tek Hizmet
Her sürüm, sürüm etiketi taşıyan ayrı bir dağıtımdır. Tek bir hizmet, etkin olan rengi seçer.
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
spec:
replicas: 3
selector:
matchLabels:
app: web
version: blue
template:
metadata:
labels:
app: web
version: blue
spec:
containers:
- name: web
image: myapp:1.0Trafiği Değiştirme
Yeşili etkinleştirmek için hizmet seçicisini yeşil sürümü gösterecek şekilde güncellemeniz yeterlidir. Geçiş anında gerçekleşir.
kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'Mavi-Yeşilin Avantajları ve Dezavantajları
- Avantaj: maviye geri dönerek anında geri alma
- Avantaj: sürüm yayını sırasında sürümler birbirine karışmaz
- Dezavantaj: geçiş süresince kaynakların iki katını gerektirir
Kanarya Yaklaşımı
Kanarya sürümünde, önce trafiğin küçük bir bölümü yeni sürüme gönderilir. Ölçümler sağlıklı görünüyorsa yeni sürümün kapasitesi kademeli olarak artırılır.
Bu ad, madencilerin tehlikeyi erken saptamak için kullandığı kanaryalardan gelir.
Kopya Sayılarıyla Kanarya
Basit bir kanarya uygulaması, aynı hizmet etiketini paylaşan iki dağıtım kullanır. Trafik yaklaşık olarak kopya oranına göre bölünür.
# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1Kanaryayı Öne Çıkarma
Güveniniz arttıkça oranı kanarya lehine değiştirir, ardından tüm trafiğe hizmet verdiğinde eski sürümü kullanımdan kaldırırsınız.
kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0Kanaryayı Gözlemleme
Kanaryanın temel amacı gözlemdir. Öne çıkarmadan önce hata oranlarını, gecikmeyi ve günlükleri izleyin.
kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50Strateji Seçme
- Mavi-yeşil: temiz, anında bir geçiş ve hızlı geri alma istediğinizde en iyisi
- Kanarya: etki alanını sınırlamak ve gerçek trafikle doğrulamak istediğinizde en iyisi
- Aşamalı: düşük riskli, rutin güncellemeler için iyi bir varsayılan
kubectl'nin Ötesindeki Araçlar
Ayrıntılı trafik bölüştürme (örneğin tam olarak %5) için ekipler Istio gibi hizmet ağları veya kanarya analizini otomatikleştiren Argo Rollouts ve Flagger gibi aşamalı teslim araçları kullanır.
Hızlı Kontrol
Kanarya sürümünü en iyi açıklayan ifadeyi seçin.
Özet
Gelişmiş sürüm yayınlama stratejilerini karşılaştırdınız. Mavi-yeşil, hızlı geri alma için iki ortam arasındaki tüm trafiği anında değiştirirken kanarya, riski sınırlamak için trafiği kademeli olarak yönlendirir. Her ikisi de zaten bildiğiniz Dağıtım ve Hizmet temel yapı taşlarını kullanır.
Sıkça Sorulan Sorular
“Dağıtım Stratejileri: Blue-Green ve Canary” dersi ücretsiz mi?
Evet — “Dağıtım Stratejileri: Blue-Green ve Canary” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Dağıtım Stratejileri: Blue-Green ve Canary” dersinde ne öğreneceğim?
Aşamalı güncellemelerin ötesine geçin ve Kubernetes'te blue-green ile canary dağıtım örüntülerini kullanarak güvenli biçimde yayımlamayı öğrenin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Dağıtım Stratejileri: Blue-Green ve Canary” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dağıtımları Anlama
- ReplicaSets ile Uygulamaları Ölçeklendirme
- Aşamalı Güncellemeler ve Geri Almalar
- Dağıtım Stratejileri: Blue-Green ve Canary