İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Konteyner & Kubernetes
  • Kubernetes v1.37: etcd RangeStream ile Bellek Dostu Liste
Bulut Altyapı Konteyner & Kubernetes etcd v3.7, feature gate, Kubernetes v1.37, RangeStream, watch cache Aşkın KILIÇ 02/09/2026 3 Yorumlar

Kubernetes v1.37: etcd RangeStream ile Bellek Dostu Liste

Kubernetes v1.37: etcd RangeStream ile Bellek Dostu Liste
📑 İçindekiler
  1. Büyük okumaların maliyeti
  2. RangeStream ile akışlı okumalar
  3. Gereksinimler ve devreye alma
  4. RangeStream'in kullanıldığını doğrulama
  5. Neden önemli?
  6. İlgili İçerikler
  7. Kaynaklar ve İleri Okuma

⏱️ 3 dk okuma📅 2 Eylül 2026

Kubernetes v1.37 ile birlikte etcd RangeStream özelliği beta aşamasına geçiyor. etcd v3.7 ile eşleştirildiğinde bu yenilik, API sunucusunun ve etcd’nin büyük koleksiyonları okurken kullandığı belleği belirgin biçimde düşürüyor; daha da önemlisi, tepe bellek tüketimini çok daha öngörülebilir kılıyor. Bu yazıda RangeStream’in ne yaptığını, nasıl devreye girdiğini ve doğru çalıştığını nasıl doğrulayacağınızı ele alıyoruz.

Büyük okumaların maliyeti

API sunucusu, list ve watch isteklerinin çoğunu bellek içindeki watch cache üzerinden karşılar. Ama bu önbelleği doldurmak için ilgili kaynağın tüm durumunun etcd’den okunması gerekir; bu okuma yalnızca başlangıçta değil, her yeniden başlatmada da yapılır. Nesne sayısının yüksek veya nesne boyutunun büyük olduğu kaynaklarda, özellikle Pod gibi, işlem oldukça maliyetli.

API sunucusu bu okumaları zaten sayfalıyordu; koleksiyonun tamamını etcd’den bir kerede istemek yerine sabit sayıda anahtarı sayfa sayfa çekiyordu. Sorun şu ki yalnızca anahtar sayısına bağlı bir sayfalama, nesnelerin boyutundan habersizdir. Büyük nesnelerden oluşan bir sayfa hala çok büyük olabilir. Bu da bellek kullanımının tahmin edilmesini zorlaştırır; kötü bir nesne boyutu ve eşzamanlı okuma kombinasyonu OOM tetiklemeye yetebilir.

Öte yandan etcd’nin tekli Range çağrısı her sayfayı tam olarak hazırlayıp gönderiyor, API sunucusu da bu sayfayı çözerken bellekte tutuyordu. Sonuçta aynı veri yükü, aynı anda hem etcd hem de API sunucusu tarafında bellekte duruyordu. Bu maliyetin büyük kısmı etcd tarafına düşüyordu; streaming yaklaşımının en çok fayda sağladığı yer de tam olarak burasıydı.

RangeStream ile akışlı okumalar

etcd v3.7, bu okumanın akışlı bir sürümünü ekliyor: RangeStream RPC’si. Bu çağrı, klasik Range ile aynı RangeRequest‘i alır ve aynı sonuç kümesini döner. Ancak yanıtı baştan sona hazırlayıp göndermek yerine etcd sonucu parçalara böler ve akış halinde iletir.

Parça boyutu dönen değerlere göre uyarlanır. Böylece büyük nesnelerden oluşan bir koleksiyon, anahtar sayısıyla değil bayt cinsinden sınırlanır. Bellek de sayfanın tamamı toplanana kadar tutulmak yerine akış ilerledikçe serbest bırakılır.

Özellik etkinken API sunucusu, bütün bir koleksiyonu etcd’den okuduğu her yerde RangeStream‘i kullanır. Buna watch cache başlatma süreçleri ve bir list isteğinin önbellekten karşılanamayıp doğrudan etcd’ye düştüğü fallback yolları da dahil. Her iki durumda da API sunucusu, gelen her parçayı ayrıştırır ve bir sonraki parçayı çekmeden önce onu serbest bırakır. Böylece hiçbir taraf koleksiyonun tamamını aynı anda bellekte tutmaz.

Gereksinimler ve devreye alma

RangeStream’i kullanabilmek için iki temel bileşen gerekir:

  • Kubernetes v1.37 veya sonrası
  • etcd v3.7 veya sonrası

RangeStream, kube-apiserver üzerinde EtcdRangeStream feature gate’i etkinken ve etcd v3.7 ya da daha yeni bir sürüm kullanıldığında devreye girer. v1.37’de bu geçit beta seviyesinde ve varsayılan olarak açık.

API sunucusu, etcd’nin bu özelliği destekleyip desteklemediğini başlangıçta çözümler; çalışma zamanında bir çağrı Unimplemented döndürürse eski yola geri düşer. Bu sayede eski bir etcd sürümüyle eşleştirilmiş bir API sunucusu, kendi başına sayfalı Range yolunu kullanmaya devam eder.

Özelliği kapatmak isterseniz geçidi devre dışı bırakmanız yeterli:

--feature-gates=EtcdRangeStream=false

RangeStream’in kullanıldığını doğrulama

API sunucusu, akış halinde yapılan okumaları etcd metriklerinde ayrı bir operasyon etiketi altında kaydeder. Aşağıdaki metriğin sıfırdan farklı bir değer göstermesi, RangeStream‘in aktif kullanıldığı anlamına gelir:

etcd_request_duration_seconds_count{operation="listStream"}

Bu sayaç sıfırda kalmaya devam ediyorsa API sunucusu hala sayfalı Range yolunu kullanıyor demektir. En olası neden, etcd’nin v3.7’den eski bir sürümde olması.

Neden önemli?

RangeStream’in getirdiği kazanım yalnızca “daha az bellek” değil, aynı zamanda daha öngörülebilir bellek davranışı. Büyük Pod koleksiyonlarının bulunduğu kümelerde watch cache yeniden başlatmaları veya önbellek dışı list istekleri, bugüne kadar tahmin edilmesi zor tepe bellek kullanımlarına yol açabiliyordu. Akışlı okuma, bu yükü hem etcd hem de API sunucusu tarafında zamana yayarak kontrol altına alıyor.

İlgili İçerikler

  • Kubernetes v1.36 Memory QoS: Katmanlı Bellek Koruması Geldi
  • Kubernetes v1.37: Pod Sertifikaları ve Cluster Trust Bundle
  • Kubernetes v1.37: Metrics API Artık Stable

Kaynaklar ve İleri Okuma

  • kubernetes.io
  • Kubernetes Blog: Kubernetes v1.37: etcd RangeStream Cuts Memory Use on Large List Reads
  • KEP-5966: etcd RangeStream
  • etcd API Rehberi: RangeStream
  • Announcing etcd v3.7
  • SIG etcd
  • Kubernetes Slack (#sig-etcd)
  • etcd v3.7.0 Çıktı: RangeStream Devri ve v2store’a Elveda
  • Announcing etcd 3.7.0-beta.0
  • Kubernetes 1.36 Ön İzleme: Neler Geliyor, Neler Gidiyor?
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Microsoft Entra’da Sonradan Görülen Tutarlılıkla Yaşamak: Hayal Kırıklığı mı, Gerçekçi Bir Mimari mi?
Microsoft Entra’da Sonradan Görülen Tutarlılıkla Yaşamak: Hayal Kırıklığı mı, Gerçekçi Bir Mimari mi?27 Mar 2026
Kubernetes v1.37: Pod Sertifikaları ve Cluster Trust Bundle
Kubernetes v1.37: Pod Sertifikaları ve Cluster Trust Bundle30 Ağu 2026
Azure DevOps Git Policy Yönetimi: 10x Hız Kazanmanın Yolu
Azure DevOps Git Policy Yönetimi: 10x Hız Kazanmanın Yolu27 Nis 2026
Copilot CLI'da C++ Kod Zekası: Whole Codebase Indexing
Copilot CLI'da C++ Kod Zekası: Whole Codebase Indexing27 Eyl 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket etcd v3.7 feature gate Kubernetes v1.37 RangeStream watch cache
Önceki yazı

Visual Studio’da GitHub Pull Request İnceleme Rehberi

Sonraki yazı

Microsoft Entra ID için Bicep Şablonları Genel Kullanıma

İlginizi Çekebilir

Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
Aşkın KILIÇ 0

Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları

19/10/2026
Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
Aşkın KILIÇ 0

Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol

18/10/2026
Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
Aşkın KILIÇ 0

Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası

18/10/2026

3 comments

comments user
Tuğçe R. 02/09/2026 15:01

Büyük cluster’larda list operasyonlarında yaşanan bellek patlamalarından çok çektik, umarım bu değişiklik production’da gerçekten fark yaratır. etcd v3.7 geçişini ne zaman yapmayı düşünüyorsunuz, bunu beklemek gerekiyor mu tam olarak?

Yanıtla
comments user
Berk N. 02/09/2026 18:27

Büyük cluster’larda list operasyonlarının belleği nasıl patlatabildiğini bizzat yaşadım, bu değişiklik gerçekten kritik. etcd v3.7 gereksinimi konusunda upgrade planlaması yapanlar için ne kadar hazırlık süresi öneriyorsunuz?

Yanıtla
comments user
Gamze E. 02/09/2026 22:34

Büyük cluster’larda etcd’nin belleği ne kadar şişirebildiğini yaşayarak gördüm, bu özellik gerçekten işe yarayacak. etcd v3.7 ile birlikte kullanınca tepe bellek tüketiminin öngörülebilir hale gelmesi production ortamlar için çok kritik.

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Visual Studio Subscription: VSLive! San Diego Dersleri
    19/10/2026 Visual Studio Subscription: VSLive! San Diego Dersleri
  • Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
    19/10/2026 Azure MCP Server 3.0: Yeni Araçlar ve Yükseltme Notları
  • GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
    18/10/2026 GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı
  • Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
    18/10/2026 Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
  • Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
    18/10/2026 Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans public preview Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Visual Studio’da GitHub ...
    Microsoft Entra ID için Bicep ... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS