Google Cloud, GKE servisinin artık genel kullanıma açık (generally-available) iki aşamalı kontrol düzlemi (control-plane) yükseltmeleri sunduğunu duyurdu; bu özellik, müşterilerin yazılım ikili (binary) yükseltmesini veri formatı taşımasından ayırmasına ve küçük sürüm değişiklikleri sırasında bir geri alma (rollback) penceresini açık tutmasına olanak tanıyor.
GKE neden daha güvenli bir yola ihtiyaç duydu
Bir Kubernetes kontrol düzlemini bir küçük sürümden bir sonrakine yükseltmek her zaman risk taşımıştır. 1.33'ten 1.34'e geçiş, yalnızca ikili dosyaları değiştirmekle kalmaz, aynı zamanda alttaki veri yapılarını da yeniden yazar. Yeni sürüm bir hata içeriyorsa, küme (cluster) basitçe eski haline döndürülemez; yöneticilerin eski veritabanı anlık görüntülerini (snapshot) geri yüklemesi veya tüm kümeyi yeniden oluşturması gerekir ki bu da zaman alan ve hataya açık bir süreçtir.
İki aşamalı yükseltme nasıl çalışır
Yeni akış, yükseltmeyi iki ayrı aşamaya böler:
- 1. Adım – İkili (binary) yükseltme (emüle edilmiş mod). GKE, eski veri formatını korurken kontrol düzlemi ikili dosyalarını hedef sürüme değiştirir. Yeni veri yapıları yazılmadığı için küme, bu aşama boyunca geri alma (rollback) açısından güvenli kalır.
- 2. Adım – Tamamlama. Yapılandırılabilir bir bekleme süresinden sonra GKE, saklanan verileri yeni formata dönüştürür. Bu dönüşüm tamamlandığında, geri alma işlemi, iki aşamalı sürecin kaçınmak için tasarlandığı anlık görüntü geri yükleme (snapshot-restore) çabasını gerektirecektir.
Bu ayrım, operatörlerin geri döndürülemez veri taşımasına bağlı kalmadan yükseltilmiş ikili dosyaları üretim ortamında gözlemleyebilecekleri bir "soak window" (deneyimleme penceresi) oluşturur.
Uygulamada soak window
GKE, soak süresi boyunca temel sağlık metriklerini —API gecikmesi, hata oranları ve pod sağlığı— otomatik olarak izler. Servis bir anomali tespit ederse, dağıtımı durdurarak kümeyi geri almanın hala mümkün olduğu yalnızca ikili dosya durumunda bırakır. Google, bu modeli izleyen yükseltmeler için %99,999 oranında bir başarı oranı belirtmektedir.
GKE'nin otomatik yükseltme (auto-upgrade) özelliğini kullanan kümeler için platform, tüm iki aşamalı diziyi manuel müdahale olmaksızın yönetir. Tam kontrolü tercih eden kullanıcılar, süreci Cloud CLI veya Terraform aracılığıyla başlatabilir.
Manuel iki aşamalı yükseltme çalıştırma
48 saatlik bir güvenlik penceresine sahip tipik bir manuel yükseltme şuna benzer:
gcloud beta container clusters upgrade my-cluster \
--location=us-central1 \
--cluster-version=1.34.1-gke.1829001 \
--control-plane-soak-duration=48h \
--master
Mevcut durumu incelemek için:
gcloud container clusters describe my-cluster \
--location=us-central1 \
--format="yaml(rollbackSafeUpgradeStatus)"
Soak süresi sırasında bir hata ortaya çıkarsa, yönetici bir geri alma (rollback) komutu vererek veri kaybı yaşamadan önceki sürüme dönebilir. Küme kararlı hale geldiğinde, yükseltme complete-control-plane-upgrade komutu ile erkenden tamamlanabilir.
Sınırlar ve gereksinimler
- Özellik, 1.33 veya daha yeni bir sürüm çalıştıran GKE kümeleri için geçerlidir.
- Aynı anda yalnızca bir küçük sürüm yükseltilebilir; sürümleri atlamak desteklenmez.
- İki aşamalı süreç boyunca hem Autopilot hem de bölgesel (regional) kümeler kullanılabilir kalmaya devam eder.
Potansiyel dezavantajlar
İkili ve veri yükseltmelerini ayırmak, yükseltme takvimine fazladan bir adım ekler; bu da hızlı sürüm değişikliklerine ihtiyaç duyan kuruluşlar için toplam süreyi uzatabilir. Soak süresi ayrıca otomatik sağlık kontrollerine dayanır; yüksek düzeyde özelleştirilmiş iş yükleri çalıştıran ekipler, uç durumdaki gerilemeleri (regressions) yakalamak için GKE'nin izleme araçlarını kendi gözlemlenebilirlik (observability) araçlarıyla destekleme ihtiyacı duyabilir.
Sırada ne var?
Google, iki aşamalı modelin, çoğu durumda hala tam küme yeniden oluşturma gerektiren ana sürüm (major version) yükseltmelerine genişletilmesi için bir yol haritası açıklamadı. Gözlemciler, düğüm havuzu (node-pool) yükseltmeleri için benzer güvenlik ağları ve soak-window kontrollerini otomatikleştirebilecek üçüncü taraf CI/CD boru hatlarıyla (pipelines) yapılacak herhangi bir entegrasyon hakkındaki duyuruları bekliyor olacak.
Özet: GKE, ikili yükseltmeleri veri taşımalarından ayırarak, platform mühendislerine küçük sürüm değişiklikleri için pratik bir geri alma (rollback) penceresi sunar; böylece kesinti süresini minimumda tutarken küme bakımının operasyonel maliyetini düşürür.
