İçerik
Kubernetes v1.34 ile birlikte oldukça heyecan verici yenilikler geliyor. Ağustos 2025 sonu için planlanan bu sürüm, observability, akıllı resource yönetimi, gelişmiş scheduling ve developer experience iyileştirmelerine odaklanıyor. Platform ekipleri için gerçekten önemli olan özellikleri örneklerle birlikte inceliyorum.
Dynamic Resource Allocation Kubernetes v1.34’te Stabil Hale Geliyor
En büyük haberlerden biri: Dynamic Resource Allocation (DRA) artık GA (Generally Available) statüsüne geçiyor.
DRA, Kubernetes’in dinamik veya external resource’lar gerektiren Pod’ları (GPU, FPGA veya lisanslı yazılımlar gibi) resource driver’larla koordine ederek schedule etmesine olanak tanıyor. Bu sayede race condition’lar ve pre-binding problemleri olmadan daha akıllı ve güvenli scheduling yapabiliyorsunuz.
Pratik Kullanım Örneği
apiVersion: v1
kind: Pod
metadata:
name: gpu-task
spec:
containers:
- name: compute
image: nvidia/cuda:11.0-base
resources:
claims:
- name: my-gpu
resourceClaims:
- name: my-gpu
source:
resourceClassName: nvidia.com/gpu
DRA ile Kubernetes, gerekli GPU’yu uyumlu bir pool’dan dinamik olarak allocate ediyor. Bu da isolation ve kullanım verimliliğini ciddi şekilde artırıyor.
ServiceAccount Token’ları ile Image Pull (Beta)
Önceden, container registry’lere authenticate olmak için uzun süreli imagePullSecrets kullanılıyordu. Kubernetes v1.34 ile ServiceAccount’lardan türetilen otomatik kısa süreli token’lar geliyor. Kubelet artık projected token’ları kullanarak güvenli bir şekilde image pull authentication yapabiliyor.
Bu değişiklik token sızma risklerini azaltıyor ve rotation işlemlerini kolaylaştırıyor.
Temel Avantaj
Artık private registry authentication için manuel olarak secret oluşturup mount etmek zorunda değilsiniz. Kubernetes bunu sizin için güvenli ve otomatik olarak hallediyor.
Pod Replacement Policy (Alpha)
Karmaşık deployment’larda, Pod’ları çok erken replace etmek (eski olan hâlâ terminate olurken) beklenmedik problemlere yol açabiliyor: çakışan port’lar, database reconnect’ler veya resource contention gibi.
Kubernetes v1.34 yeni bir field tanıtıyor:
spec:
podReplacementPolicy: TerminationStarted # veya TerminationComplete
Bu sayede developer’lar rolling update’ler sırasında yeni Pod’un ne zaman schedule edilmesi gerektiğini kontrol edebiliyor.
Pratik Örnek
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
spec:
replicas: 3
strategy:
type: RollingUpdate
template:
spec:
podReplacementPolicy: TerminationComplete
TerminationComplete
ile Kubernetes, eski Pod tamamen kapanana kadar bekliyor ve sonra replacement başlatıyor. Stateful veya resource-heavy uygulamalar için mükemmel.
PreferSameNode ve PreferSameZone Özellikleri (Beta)
Load balancing artık çok daha akıllı. externalTrafficPolicy: Local
kullanıp şansımızı denemek yerine, Kubernetes artık routing’de daha hassas topology tercihleri sunuyor.
Bu sayede Service’ler caller’a daha yakın node’ları/zone’ları tercih edebiliyor. Sonuç: daha iyi latency ve network performance.
Neden Bu Kadar Önemli
Multi-zone cluster’larda veya edge deployment’larda bu routing optimizasyonu cross-zone traffic’i drastik şekilde azaltabiliyor. Hem maliyet düşüyor hem de user experience artıyor.
KYAML Output Format
KYAML’ın gerçekten parladığı nokta burada. KYAML, YAML’ın tuhaflıklarını aşmak için tasarlandı: whitespace hassasiyeti, implicit type coercion (“Norway Bug” hatırlayan var mı?) gibi problemleri çözüyor. Daha temiz ve öngörülebilir bir serialization format sunuyor.
Artık şunu kullanabiliyorsunuz:
kubectl get deployment api-server -o kyaml
Daha tutarlı diff’ler, daha iyi tooling desteği ve daha az sürpriz bekleyebilirsiniz.
Tracing ile Observability Geliştirmeleri (Beta/Stable)
Kubernetes v1.34, hem API Server hem de kubelet’te OpenTelemetry tabanlı tracing‘i benimsiyor. Artık şunlara görünürlük kazanıyorsunuz:
- kubelet ve container runtime’lar arasındaki gRPC iletişimi
- Admission control chain’leri
- API request lifecycle tracing
Bu gelişmiş observability, control plane latency’sini diagnose etmek veya performance regression’ları debug etmek için paha biçilmez.
Bonus Özellikler (v1.34 Release)
Ayrıca final v1.34 release şunları da içeriyor:
- PSI Metrics (Beta) — CPU ve memory pressure hakkında daha iyi insight’lar
- Node Swap Support (GA) — daha soft memory management, daha az OOM
- CPUManager Uncore Cache Alignment (Beta) — NUMA-aware workload’lar için gelişmiş performans
- kuberc (User Preferences) — kubectl default’larını ve output’unu customize etme
Platform Ekipleri İçin Kubernetes v1.34’ün Anlamı
Bu release operator odaklı ve gerçek dünya zorluklarına çözüm getiriyor:
- Güvenli, lightweight image pull’lar
- Rollout timing üzerinde hassas kontrol
- Zengin observability (tracing ve PSI)
- Akıllı, topology-aware routing
- KYAML ile daha temiz ve güvenli configuration
Sırada Deneyebilecekleriniz
- DRA‘yı GPU veya diğer özel hardware’lar için aktifleştirin
- ServiceAccount token pull’larına geçin — daha güvenli ve basit
- Canary/rolling deployment’larda Pod replacement policy’lerini deneyin
- Staging’de tracing‘i aktifleştirin — observability’yi artırın
- KYAML kullanmaya başlayın ve daha temiz diff’leri görün
Yararlı Kaynaklar
- Kubernetes v1.34 Sneak Peek (Official Blog)
- Kubernetes Docs: Dynamic Resource Allocation
- Kubernetes v1.34 Release Notes
Sonuç
Kubernetes v1.34 sessizce güçlü bir release. Çok ses getiren başlıklar olmadan developer ve operator experience’ını geliştiriyor. KYAML’dan tracing’e, resource efficiency’den rollout kontrolüne kadar önemli bir adım ileri.
Kubernetes v1.34 ile platform ekibinizin işi çok daha kolaylaşacak.
İlginizi çekerse K8s ile ilgili aşağıdaki yazılarımada bakabilirsiniz;
Kubernetes Volumes – Container Storage’ın Rehberi
Kubernetes Ingress vs Gateway API: Hangisini Kullanmalıyız?
Kubernetes Objects, Resources ve Custom Resource: 1 Yazıda Ayrıntılı Rehber