İç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ıç
  • DevOps
  • Kubernetes v1.36: Workload-Aware Scheduling Yeni Boyutta
DevOps Konteyner & Kubernetes AI/ML, batch job, gang scheduling, Kubernetes v1.36, PodGroup, scheduling.k8s.io, workload-aware scheduling Aşkın KILIÇ 14/05/2026 2 Yorumlar

Kubernetes v1.36: Workload-Aware Scheduling Yeni Boyutta

Kubernetes v1.36: Workload-Aware Scheduling Yeni Boyutta
📑 İçindekiler
  1. Önce Şu Workload API'yi Doğru Anlayalım
  2. Yeni Workload Tanımı Nasıl Görünüyor?
  3. Gang Scheduling: Ya Hep Ya Hiç Mantığı
  4. Küçük Startup mı, Büyük Enterprise mi?
  5. Job Controller Entegrasyonu: İlk Adım
  6. Karşılaştırma Tablosu : v1.35 vs v1.36
  7. Maliyet Tarafı: TL Bazında Bir Düşünelim
  8. Pratik Adımlar: Nereden Başlayayım?
  9. Eksik Yanları da Konuşalım

⏱️ 8 dk okuma📅 14 Mayıs 2026🔄 Güncelleme: 15 Temmuz 2026

Geçen hafta bir telekom müşterimizde AI eğitim cluster’ı tasarlarken ekipten genç bir mühendis şunu sordu: “Hocam, 64 GPU’lu bir training job’ı Kubernetes’e atıyoruz, neden bazen 60 pod ayağa kalkıp 4’ü pending’de kalınca tüm iş çakılı kalıyor?”. Klasik mesele. Klasik cevap da belli: gang scheduling yoksa, ya hep ya hiç mantığı bir yerde duvara tosluyor.

İşte tam burada Kubernetes v1.36 ile gelen workload-aware scheduling güncellemeleri devreye giriyor. v1.35’te temel atılmıştı, şimdi iş biraz daha oturmuş durumda. Lafı gevelemeden söyleyeyim — bu sürüm, batch ve AI/ML iş yüklerini Kubernetes’te düzgün koşturmak isteyenler için baya önemli bir dönemeç.

Kısa bir not düşeyim buraya.

Önce Şu Workload API’yi Doğru Anlayalım

v1.35’te Workload nesnesi hem şablon hem de runtime state’i aynı yerde tutuyordu. Yanı aynı obje hem “ben böyle bir grup pod istiyorum” diyordu, hem de “şu an grubun 3 üyesi running, 1’i pending” bilgisini taşıyordu. Kağıt üstünde sade dürüyor ama pratikte… eh, işler öyle yürümüyor.

Hani, Şöyle düşünün: 500 replikalı bir batch job’ınız var. Her status update’i tek bir Workload nesnesine yazmaya kalkarsanız, etcd tarafında write contention görmeniz işten bile değil. Logosoft’ta bir bankacılık projesinde benzer bir mimarı yüzünden API server’ın yığıldığını görmüştük — o yüzden bu ayrıştırma bana oldukça mantıklı geliyor.

Kısa bir not düşeyim buraya.

v1.36’da gelen yeni model şu: Workload artık sadece bir static template. PodGroup işe runtime’da yaşayan, replika başına shard edilebilen ayrı bir nesne. API grubu da değişti: scheduling.k8s.io/v1alpha2. v1alpha1 büyük ölçüde rafa kalktı, yanı eski yamaları bir gözden geçirmek lazım.

Yeni Workload Tanımı Nasıl Görünüyor?

apiVersion: scheduling.k8s.io/v1alpha2
kind: Workload
metadata:
name: training-job-workload
namespace: ml-prod
spec:
podGroupTemplates:
— name: workers
schedulingPolicy:
gang:
# 4 pod aynı anda çalışamıyorsa hiçbiri başlamaz
minCount: 4

Bu template’ten controller’lar (mesela Job controller) runtime’da PodGroup instance’ları üretiyor. Her PodGroup kendi status’ünü ayrı tuttuğu için yatay ölçeklenme daha rahat hâle geliyor. Scheduler artık Workload’u sürekli watch etmek zorunda da değil — doğrudan PodGroup’a bakıyor. Küçük gibi duran bu detay aslında scheduler’ın CPU yükünü ciddi azaltan bir hamle.

Gang Scheduling: Ya Hep Ya Hiç Mantığı

Araya gireyim: AI/ML eğitimi yapanların en iyi bildiği konu bu zaten. Distributed training’de 8 worker’dan biri ayağa kalkamazsa, bir düşüneyim… diğer 7’si boş yere CPU/GPU yakıyor. Default-scheduler işe pod pod bakıp kaynak varsa atadığı için bu senaryoda patlıyor.

v1.36’daki PodGroup scheduling cycle, tam olarak bunu toparlamak için tasarlanmış. Scheduler artık PodGroup’u atomik bir blok gibi değerlendiriyor. Yanı ya grup üyelerinin hepsi için yeterli node bulunuyor. Topluca bind ediliyor, ya da hiçbiri yerleşmiyor; beklemede kalıyorlar. Daha fazla bilgi için Daha fazla bilgi için

Küçük Startup mı, Büyük Enterprise mi?

Açık konuşayım; eğer elinizde sadece 3-5 node’lük basit bir cluster varsa ve batch workload’larınız çok karmaşık değilse bu özelliklerle uğraşmaya gerek olmayabilir.

Default scheduler çoğu zaman işinizi görür.
Volcano kurmak da şart değil genelde.

Ama 50+ node’lu, çok kiracılı, AI training ile inference’ı aynı cluster’da çalıştırdığınız bir ortam varsa — v1.36’yı yakından takip edin derim.
Stabil hâle geldiğinde (muhtemelen v1.,38 civarı beta çizgisine yaklaşır) ciddi fayda sağlayacak gibi dürüyor.
Emin değilim. Sanırım yön o tarafa gidiyor.
Tam da öyle.

Job Controller Entegrasyonu: İlk Adım

Burası biraz “başlangıç var. Yol uzun” hissi veriyor doğrusu.
Bu sürümle birlikte Job controller, yeni Workload API ile entegrasyonun ilk fazını sunuyor; yanı standart bir batch/v1 Job tanımladığınızda controller arka planda Workload + PodGroup nesnelerini üretebiliyor (feature gate açık olmak şartıyla).

💡 Bilgi:
Bu entegrasyon henüz tüm Job özelliklerini kapsamıyor.
IndexedJob ve completionMode=Indexed gibi varyasyonlar için ayrı fazlarda destek gelecek.
Yanı karmaşık Job pattern’leri kullanıyorsanız test ortamında deneyin; prod’a acele etmeyin.
Peki neden?
Çünkü bazı köşe durumları hâlâ netleşmiş değil.

Karşılaştırma Tablosu : v1.35 vs v1.36

Özellik v1.35 v1.36
API versiyonu v1alpha1 v1alpha2 (breaking)
Workload yapısı Template + runtime tek nesnede Workload (template) + PodGroup (runtime) ayrı
Status sharding Yok Per-replica shard
Topology-aware Yok İlk tekrar (alpha)
Workload-aware preemption Yok İlk iterasyon (alpha)
DRA / ResourceClaim Pod seviyesinde PodGroup seviyesinde
Job controller entegrasyonu Yok Faz 1

Maliyet Tarafı: TL Bazında Bir Düşünelim

Azure’da NC A100 v4 serisi bir node’un saatlik fiyatı hatırı sayılır rakamlarda — döviz kuruyla TL’ye çevirdiğinizde aylık olarak ciddi bir kalem olabiliyor. Bir müşterimde 4 node’lük A100 cluster’ı vardı, ayda altı haneli faturalar görüyorduk.

Eğer gang scheduling olmadan training job’larınızın %15-20’si “yarısı ayakta, yarısı pending” şeklinde takılıyorsa, o boşa giden GPU saatlerini direkt çöpe atmış gibi düşünün. Workload-aware scheduling’in olgunlaşması, bu tip kayıpları azaltacak. Bir arkadaşımın firmasında benzer bir optimizasyon sonrası aylık GPU faturasında belirgin düşüş olduğunu paylaşmıştı — abartmadan söylüyorum, fark ciddiydi.

Pratik Adımlar: Nereden Başlayayım?

Eğer bu özellikleri test etmek istiyorsanız önerim şu sıra:

  1. Kubernetes v1.36 ile bir test cluster ayağa kaldırın (kind veya küçük bir AKS preview cluster yeter).
  2. WorkloadAwareScheduling feature gate’ini açın.
  3. Önce basit bir Job + Workload + PodGroup kombinasyonu deneyin, 4-5 replikalı.
  4. Sonra preemption testi yapın: düşük öncelikli grup ayağa kaldır, üstüne yüksek öncelikli olan.
  5. Logları izleyin, scheduler event’lerine bakın.
  6. Topoloji constraint’lerini ekleyin ve node affinity ile etkileşimi gözlemleyin.

Ben kendi lab ortamımda ilk denediğimde scheduler pod’unda “PodGroup CRD bulunamadı” hatası aldım. Sebep: feature gate’ini açtım ama CRD’leri kurmayı unuttum. kubectl apply -f scheduling.k8s.io_v1alpha2_crds.yaml çalıştırınca düzeldi. Belgelerde bu adım net belirtilmiyor, dikkat edin.

Eksik Yanları da Konuşalım

(Yazının başında dedim ya — sadece öven yazı AI işareti.) Bu özelliklerin eksik tarafları da var. Önce şunu söyleyeyim: observability tarafı henüz ham. PodGroup’un neden schedule olmadığını anlamak için scheduler loglarına bakmak gerekiyor; güzel metric’ler yok. Prometheus’ta gang scheduling kuyruğunu izleyecek doğru düzgün bir exporter da yok şimdilik.

Sıradaki mesele: çoklu scheduler senaryoları belirsiz. Eğer cluster’ınızda hem default scheduler hem custom scheduler (mesela Volcano) varsa, hangisinin PodGroup’u sahipleneceği konusunda kafa karışıklığı çıkabilir. Production’a geçmeden önce bu sınır durumlarını test edin.

Üçüncüsü — ve bence en önemlisi — Kubernetes’in Pod-Level In-Place Resize Beta’ya Yükseldi özelliğiyle bu yeni scheduling katmanının nasıl etkileşeceği henüz tam netleşmedi; ikisini birlikte kullanmadan önce dikkatli test etmekte fayda var.

🤖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

GitHub Secret Scanning ve Public Monitoring Güncellemeleri
GitHub Secret Scanning ve Public Monitoring Güncellemeleri16 Tem 2026
Bot PR’lere de CI yolu açıldı: Güvenlikte ince ayar zamanı
Bot PR’lere de CI yolu açıldı: Güvenlikte ince ayar zamanı12 Haz 2026
azd 1.26 Geldi: tool, exec ve Multi-Layer Provisioning Notları
azd 1.26 Geldi: tool, exec ve Multi-Layer Provisioning Notları28 Haz 2026
Kubernetes v1.36 User Namespaces GA: Root Artık Gerçek Root Değil
Kubernetes v1.36 User Namespaces GA: Root Artık Gerçek Root Değil26 Nis 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 AI/ML batch job gang scheduling Kubernetes v1.36 PodGroup scheduling.k8s.io workload-aware scheduling
Önceki yazı

Microsoft SQL ile Agentic AI Güvenliği: Katman Katman Savunma

Sonraki yazı

Visual Studio Agent Skills: Copilot’a Takımınızı Öğretmek

İlginizi Çekebilir

Azure Developer CLI 1.34: azure.yaml Katmanları ve
Aşkın KILIÇ 0

Azure Developer CLI 1.34: azure.yaml Katmanları ve

04/10/2026
GitHub-hosted Agents: Azure Pipelines'ta Dakika Bazlı Ücret
Aşkın KILIÇ 0

GitHub-hosted Agents: Azure Pipelines’ta Dakika Bazlı Ücret

01/10/2026
npm Trusted Publishing ile dist-tag Yönetimi Token'sız
Aşkın KILIÇ 0

npm Trusted Publishing ile dist-tag Yönetimi Token’sız

01/10/2026

2 comments

comments user
Gökhan İ. 14/05/2026 12:23

PodGroup mekanizması aslında o “gang scheduling” sorununu çözmek için uzun süredir beklenen bir adımdı, özellikle distributed training job’larında yarım kalan pod’larla boşa harcanan kaynak israfı had safhaya gelmişti. Bakalım production’da ne kadar sorunsuz çalışacak, alpha/beta geçiş süreçleri genelde sürpriz getiriyor.

Bu arada bambaşka bir ekosistemde de benzer bir araç değişimi var, ilginizi çekebilir: SPFx 1.23 GA: Yeoman’a Veda, CLI Devri Başlıyor — https://www.askinkilic.com.tr/spfx-123-ga

comments user
Serkan D. 15/05/2026 01:54

Batch iş yüklerinde “hep ya hiç” meselesi gerçekten can sıkıcıydı, özellikle büyük ML eğitim joblarında yarım kalan podlar yüzünden kaynak israfı çok oluyordu. PodGroup yaklaşımı mantıklı duruyor ama pratikte ne kadar sorunsuz çalışır göreceğiz. Üretimde deneyen var mı henüz?

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Azure Developer CLI 1.34: azure.yaml Katmanları ve
    04/10/2026 Azure Developer CLI 1.34: azure.yaml Katmanları ve
  • Copilot Code Review: API Desteği ve Balanced Varsayılanı
    03/10/2026 Copilot Code Review: API Desteği ve Balanced Varsayılanı
  • GitHub App Installation Token'ları Artık 520 Karakter
    03/10/2026 GitHub App Installation Token’ları Artık 520 Karakter
  • Microsoft Circular Centers: Azure Donanımının İkinci Hayatı
    03/10/2026 Microsoft Circular Centers: Azure Donanımının İkinci Hayatı
  • Elasticsearch Mapping'lerini Azure Cosmos DB'ye Taşımak
    03/10/2026 Elasticsearch Mapping’lerini Azure Cosmos DB’ye Taşımak
  • 25 Dolar Altında Yapay Zeka Uygulaması mı? İşte Nasıl Yapılır!
    10/03/2026 25 Dolara Yapay Zeka Uygulaması Nasıl Yapılır?
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • 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 bulut bilişim 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 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ı 469 yazı 🏗️ Bulut Altyapı 378 yazı 🤖 Yapay Zeka 314 yazı 🔧 DevOps 260 yazı ☁️ Microsoft Azure 254 yazı 🔒 Güvenlik & Kimlik 214 yazı 🏢 Kurumsal Teknoloji 96 yazı 📊 Veri & Analitik 66 yazı 🐳 Konteyner & Kubernetes 61 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Microsoft SQL ile Agentic AI G...
    Visual Studio Agent Skills: Co... →
    📩

    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