Kubernetes CBT API Beta: Alpha’dan Ne Değişti?
CSI sürücüleri için Changed Block Tracking (CBT) desteği Eylül 2025’te Alpha olarak duyurulmuştu. external-snapshot-metadata projesinin Mart 2026’daki v1.0.0 sürümüyle birlikte özellik Beta aşamasına geçti. Aşağıda Alpha’dan Beta’ya geçişte pratikte neyin değiştiğini, uyumluluk gereksinimlerini ve mevcut kurulumu yükseltirken izlenecek adımları derledim. Şema aynı kaldı ama CRD sürümü değişti, eski sürüm de kaldırıldı; yani yükseltme kendiliğinden olmuyor, elle müdahale istiyor.
CBT kısaca ne işe yarıyor?
Changed block tracking, iki snapshot arasında hangi blokların değiştiğini öğrenmeyi sağlayan bir mekanizma. Yedekleme uygulamaları her seferinde tüm volume’u taramak yerine yalnızca farkı okuyabiliyor. Kubernetes tarafında bu yetenek üç ana bileşenden oluşuyor:
- CSI
SnapshotMetadatagRPC servisi, - SnapshotMetadataService CRD,
external-snapshot-metadatasidecar’ı.
Bu bileşenlerin nasıl bir araya geldiğini ve API’nin uçtan uca kullanımını merak ediyorsanız, Alpha duyurusu hem konunun motivasyonunu hem adım adım kullanımı anlatıyor. Kapsam konusunda bir not: CBT şu an block volume‘lar için geçerli. Dosya tabanlı volume’lar ve ağ dosya paylaşımları (network file share) için değişen blok listesi takibi bu özelliğin kapsamına girmiyor.
Beta ile CRD sürümü değişti
v1.0.0 sürümündeki temel değişiklik, SnapshotMetadataService CRD’sinin v1alpha1‘den v1beta1‘e yükseltilmesi. Bir sürücünün metadata servisini duyurmak için kullanılan CRD artık cbt.storage.k8s.io/v1beta1 üzerinden sunuluyor.
Burada dikkat edilmesi gereken iki ayrıntı var:
- Şemanın kendisi değişmedi. Yani alan yapısında sizi zorlayacak bir farklılık yok.
v1alpha1kaldırıldı. Yeni sürümün yanında eski sürüm sunulmaya devam etmiyor. İki sürüm arasında otomatik bir dönüşüm (conversion) mekanizması da bulunmuyor.
Alpha’dan yükseltiyorsanız
Kaynakta belirtilen yükseltme adımları şunlar:
v1.0.0sürümüyle birlikte gelen CRD tanımını yeniden uygulayın.- SnapshotMetadataService manifestlerinizi
apiVersion: cbt.storage.k8s.io/v1beta1kullanacak şekilde güncelleyin. - CRD ile konuşan istemci veya controller kodunuzu güncelleyin.
Geçiş tek seferlik. Ama otomatik dönüşüm olmadığı için eski apiVersion değeriyle bırakılan manifestler ve sabit kodlanmış sürüm bilgisiyle çalışan istemciler yükseltmeden sonra çalışmayacak, bunu hesaba katmak gerekiyor. GitOps ile yönetilen ortamlarda manifest depolarındaki sürüm alanı da güncellenmeli.
Uyumluluk gereksinimleri
| Bileşen | Gereksinim |
|---|---|
| Minimum Kubernetes sürümü | 1.33 |
| CSI spec | 1.10 veya daha yenisi |
| Container image | registry.k8s.io/sig-storage/csi-snapshot-metadata:v1.0.0 |
Kümeniz 1.33’ün altındaysa ya da kullandığınız CSI sürücüsü 1.10 öncesi bir spec sürümünü hedefliyorsa, planlamaya önce bu taraftan başlamak gerekiyor.
Denemek için izlenecek yol
Alpha duyurusundaki “Getting Started” bölümü hala geçerli. Akış özetle şöyle ilerliyor:
- Kullandığınız CSI sürücüsünün volume snapshot desteklediğinden ve
external-snapshot-metadatasidecar’ını içerdiğinden emin olun. - SnapshotMetadataService CRD’sini kurun; burada
v1.0.0sürümünden gelenv1beta1tanımını kullanın. - Sürücünüz için bir SnapshotMetadataService kaynağı oluşturun.
snapshot-metadata-listergibi hazır bir istemciyle ya da kendi yazdığınız bir istemciyleGetMetadataAllocatedveGetMetadataDeltaçağrılarını yapın.
Akışı uçtan uca gözlemlemek isteyenlere başlangıç noktası olarak hostpath sürücüsü örneği öneriliyor.
Beta döneminde odak nerede?
Beta döngüsünün geri kalanında öncelik, GA’ya ilerlemeden önce daha geniş CSI sürücü benimsenmesi ve operasyonel geri bildirim toplamak. Bir CSI sürücüsü geliştiriyorsanız destek eklemeyi değerlendirmek için uygun bir dönem. API üzerine yedekleme uygulaması inşa edenlerden ise özellikle streaming istemciler ve iterator paketi hakkında geri bildirim bekleniyor.
Daha fazla bilgi ve katkı
Özelliğin arkasında SIG Storage genelinden çok sayıda katkı var. Alpha’dan Beta’ya kadar inceleme, kodlama ve test aşamalarında emeği geçenler arasında Ben Swartzlander (bswartz), Carl Braganza (carlbraganza), Daniil Fedotov (hairyhum), Ivan Sim (ihcsim), Nikhil Ladha (Nikhil-Ladha), Praveen M (iPraveenParihar), Rakshith R (Rakshith-R) ve Xing Yang (xing-yang) yer alıyor.
Kubernetes’te CSI veya depolama tarafına katkı vermek isteyenler için başlangıç noktası SIG Storage. Data Protection Working Group da düzenli toplantılar yapıyor ve yeni katılımcılara açık.
Kaynaklar ve İleri Okuma
- Kubernetes Changed Block Tracking API – Beta Differences (orijinal duyuru)
- CBT Alpha duyurusu ve uçtan uca kullanım rehberi
- CSI geliştirici dokümantasyonu: snapshot metadata
- KEP-3314
- external-snapshot-metadata deposu
- gRPC şeması (schema.proto)
- snapshot-metadata-lister örnek istemcisi
- hostpath sürücüsü örneği
- İlgili yazı: Kubernetes DRA GA: Cihaz Yönetiminde Yeni Dönem
- İlgili yazı: Kubernetes v1.36 Pod-Level In-Place Resize Beta’ya Yükseldi






Yorum gönder