Kubernetes 1.37: RangeStream Reduces Memory Usage
What is RangeStream?
Entering beta in Kubernetes 1.37, RangeStream works alongside etcd v3.7 to enable stream-based data reading. Traditionally, an entire chunk of data had to be held in memory before a large object could be cached by the API server. This led to unpredictable memory usage, particularly in environments listing high volumes of large resources.
Impact of the Legacy Approach on Memory
When the API server receives a list request, it first retrieves the relevant keys from etcd and then builds the response. Even if the data is paginated, the entire response is loaded into memory because the exact object size isn't known in advance. Memory pressure builds up at two points in this process: first, as etcd holds the response, and second, as the API server aggregates and caches it. Large ConfigMap or Custom Resource Definition lists can trigger Out-Of-Memory (OOM) errors at both stages.
How RangeStream Solves This
Instead of completing the data transfer all at once, RangeStream focuses on delivering it as a chunk-by-chunk stream. etcd returns the requested ranges as blocks, and the API server starts streaming these blocks to the client as soon as it receives them. As a result, neither etcd nor the API server needs to retain the complete response in memory. Memory requirements remain far more predictable, depending primarily on the number of blocks processed concurrently.
Concrete Benefits in Memory Usage
The streaming model introduced by RangeStream yields two main benefits:
- Predictable memory consumption: Because data streams in blocks, the amount of data held in memory at any given moment has a fixed upper bound.
- Reduced load on etcd: Delivering responses in small chunks rather than a single massive payload decreases CPU and I/O pressure on etcd.
Implementation and Operational Impacts
Since RangeStream is currently in beta, it is not yet enabled by default in all environments. However, Kubernetes administrators can enable it in test environments to monitor memory boundaries. Especially in large-scale clusters, parameters like the API server's --max-request-bytes may need to be re-evaluated. Enabling RangeStream allows these parameters to be maintained at much safer, more flexible levels.
Future Development and Community Contribution
The Kubernetes community plans to graduate RangeStream from beta to a stable feature. Coordination between etcd developers and the API server team is critical during this transition. User feedback will help fine-tune settings such as stream size, block count, and timeouts. Real-world observations of memory fluctuations and OOM events will serve as valuable data points for refining these configurations.
In summary, RangeStream marks another step forward in managing large datasets within the Kubernetes ecosystem. Bringing memory consumption under control not only reduces infrastructure costs but also enhances resilience against service disruptions. While its beta status highlights the need for testing and feedback, early adopters stand to gain significant long-term stability and performance benefits.
Source: Kubernetes Blog
Kaynak: Kubernetes Blog
Alakalı İçerikler
-
Kubernetes 1.37’da Sıfır Pod’a Ölçekleme Şimdi Varsayılan 3 Gün önce
Kubernetes 1.37, HPA sayesinde iş yüklerini dış metriklerle sıfır pod’a kadar otomatik ölçekleyerek maliyet tasarrufu sağlıyor; soğuk başlatma ve istek kuyruğu konularına da değiniyor.
-
HCP Vault Dedicated Günlükleri Sentinel’e Aktarma Çözümü 9 Dakika önce
HashiCorp, HCP Vault Dedicated için audit loglarını Terraform tabanlı bir veri hattı üzerinden Azure Log Analytics ve Microsoft Sentinel’e yönlendirerek merkezi güvenlik izlemeyi sağlıyor.
-
OpenShift ile Üniversitelerde Otomatik Düğüm Kurtarma 21 Saat önce
Red Hat OpenShift'in otomatik düğüm kurtarma özelliği, yükseköğretimde sanallaştırma maliyetlerini düşürürken veri bütünlüğünü koruyarak kesintisiz hizmet sağlar.
-
AI Ajan Maliyetleri Düşen Tokenlerde Üç Katına Çıktı 2 Gün önce
Token fiyatları %75 azalırken, ajan tabanlı yapay zekâ hizmetlerinin maliyeti üç katına çıktı; bu makale artışın matematiğini ve yöneticilerin kontrol yöntemlerini inceliyor.
-
Live Rebuild Success During OpenStack Outage 4 Gün önce
The Canonical team restored an OpenStack control plane that crashed overnight due to an outdated backup by live rebuilding it service‑by‑service, achieving recovery with no data loss.
-
Kubernetes 1.37’da Depolama Sürümü Göçü Otomatik Açıldı 5 Gün önce
Kubernetes 1.37, Depolama Sürümü Göçü (SVM) özelliğini GA seviyesine taşıyarak tüm kümelerde varsayılan hâle getiriyor; API uyumluluğu ve veri bütünlüğü daha sorunsuz.
- Kubernetes
- RangeStream
- etcd
- bellek yönetimi
- API sunucusu
- OOM
- beta özellik
Show your reaction
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Comments
Add your comment