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

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