İç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

Azure Functions ile Uzun Süreli MCP Araçları Geliştirmek
Azure Functions ile Uzun Süreli MCP Araçları Geliştirmek18 Tem 2026
Azure DevOps Takvim Uzantısında Büyük Yenilikler
Azure DevOps Takvim Uzantısında Büyük Yenilikler11 Mar 2026
Azure Boards: Kartlarda Pull Request Rozetleri
Azure Boards: Kartlarda Pull Request Rozetleri6 Ağu 2026
Covering Index ile T-SQL Sorgu Performansı
Covering Index ile T-SQL Sorgu Performansı21 Tem 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 Pipelines'a Apple Silicon ve Xcode 27 Geldi
Aşkın KILIÇ 0

Azure Pipelines’a Apple Silicon ve Xcode 27 Geldi

18/08/2026
BlockOnPossibleDataLoss=True: Neden Dostunuz?
Aşkın KILIÇ 0

BlockOnPossibleDataLoss=True: Neden Dostunuz?

18/08/2026
Microsoft.Testing.Platform ile Test Raporlama Rehberi
Aşkın KILIÇ 0

Microsoft.Testing.Platform ile Test Raporlama Rehberi

17/08/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
  • SQL Server Express'ten Azure SQL Free Tier'a Geçiş
    20/08/2026 SQL Server Express’ten Azure SQL Free Tier’a Geçiş
  • GitHub Copilot App: My Work ile İşlerini Yönetmek
    19/08/2026 GitHub Copilot App: My Work ile İşlerini Yönetmek
  • VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
    19/08/2026 VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
  • Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
    19/08/2026 Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
  • Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
    19/08/2026 Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • 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?
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?
    07/04/2026 ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?
  • 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

SİZİN İÇİN DERLEDİK

SQL Server Express'ten Azure SQL Free Tier'a Geçiş
Bulut Altyapı Geliştirici Araçları Microsoft Azure

SQL Server Express’ten Azure SQL Free Tier’a Geçiş

20/08/2026 Aşkın KILIÇ
GitHub Copilot App: My Work ile İşlerini Yönetmek
Geliştirici Araçları Yapay Zeka

GitHub Copilot App: My Work ile İşlerini Yönetmek

19/08/2026 Aşkın KILIÇ
VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
Bulut Altyapı Geliştirici Araçları

VS Code Python Environments Eklentisi Genel Kullanıma Açıldı

19/08/2026 Aşkın KILIÇ
Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
Bulut Altyapı Microsoft Azure Yapay Zeka

Microsoft, 2026 Gartner Cloud-Native Platform Raporunda

19/08/2026 Aşkın KILIÇ
Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
Bulut Altyapı Geliştirici Araçları Yapay Zeka

Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar

19/08/2026 Aşkın KILIÇ
Canvases: Ajanlı Copilot Akışlarını Görünür Kılan Katman
Geliştirici Araçları Yapay Zeka

Canvases: Ajanlı Copilot Akışlarını Görünür Kılan Katman

18/08/2026 Aşkın KILIÇ
Windows Terminal Preview 1.25: Yeni Ayarlar ve Kitty Desteği
Bulut Altyapı Geliştirici Araçları

Windows Terminal Preview 1.25: Yeni Ayarlar ve Kitty Desteği

18/08/2026 Aşkın KILIÇ
Azure Pipelines'a Apple Silicon ve Xcode 27 Geldi
Bulut Altyapı DevOps

Azure Pipelines’a Apple Silicon ve Xcode 27 Geldi

18/08/2026 Aşkın KILIÇ
BlockOnPossibleDataLoss=True: Neden Dostunuz?
DevOps Geliştirici Araçları Güvenlik & Kimlik Microsoft Azure

BlockOnPossibleDataLoss=True: Neden Dostunuz?

18/08/2026 Aşkın KILIÇ
TypeScript 6.0 RC Duyuruldu: 7.0'a Hazırlık Sürümü
Geliştirici Araçları Kurumsal Teknoloji

TypeScript 6.0 RC Duyuruldu: 7.0’a Hazırlık Sürümü

17/08/2026 Aşkın KILIÇ
GitHub Kişisel Depolarda Yorumdan Kullanıcı Engelleme
Geliştirici Araçları Kurumsal Teknoloji

GitHub Kişisel Depolarda Yorumdan Kullanıcı Engelleme

17/08/2026 Aşkın KILIÇ
Microsoft.Testing.Platform ile Test Raporlama Rehberi
Bulut Altyapı DevOps Geliştirici Araçları

Microsoft.Testing.Platform ile Test Raporlama Rehberi

17/08/2026 Aşkın KILIÇ

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ı Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL bulut bilişim C++ CI/CD copilot Copilot CLI DevOps DevSecOps 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 Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları 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ı 339 yazı 🏗️ Bulut Altyapı 280 yazı 🤖 Yapay Zeka 240 yazı 🔧 DevOps 198 yazı ☁️ Microsoft Azure 186 yazı 🔒 Güvenlik & Kimlik 161 yazı 🏢 Kurumsal Teknoloji 65 yazı 📊 Veri & Analitik 57 yazı 🐳 Konteyner & Kubernetes 47 yazı 📧 Microsoft 365 21 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