İç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 Node Swap ile Pod Yoğunluğunu 3 Katına Çıkarma
Bulut Altyapı DevOps Geliştirici Araçları Kubernetes, Node Swap, NVMe Local SSD, OOM, Pod Yoğunluğu Aşkın KILIÇ 10/10/2026 0 Yorumlar

Kubernetes Node Swap ile Pod Yoğunluğunu 3 Katına Çıkarma

Kubernetes Node Swap ile Pod Yoğunluğunu 3 Katına Çıkarma
📑 İçindekiler
  1. Node yoğunluğu sorunu nereden çıkıyor?
  2. Swap neden uzun süre önerilmiyordu, şimdi ne değişti?
  3. Üç iş yükünde ölçüm sonuçları
  4. 1. Klasik iş yükü: Linux kernel derlemesi
  5. 2. Yüksek yoğunluklu ajan iş yükleri: headless tarayıcılar
  6. 3. İzole Python çalışma ortamları
  7. Nasıl etkinleştirilir?
  8. Pratikte ne anlama geliyor?
  9. İlgili İçerikler
  10. Kaynaklar ve İleri Okuma

⏱️ 6 dk okuma📅 10 Ekim 2026

Kubernetes kümelerinde sınıra ilk dayanan kaynak çoğu zaman bellek oluyor; node’lar işlemci kapasitesini doldurmadan çok önce RAM’i tüketiyor. Ajan tabanlı (agentic) yapay zeka iş yükleri bu baskıyı daha da artırıyor, çünkü başlatılırken ve güvenilmeyen kod çalıştırırken büyük bellek ayırıyor, sonra bir sonraki istemi beklerken uzun uzun boşta kalıyorlar. Boşta duran ama fiziksel RAM’i işgal eden bellek hem pahalıya mal oluyor hem de bir node’a sığabilecek pod sayısını aşağı çekiyor. Kubernetes’in node swap desteği v1.34 ile Genel Kullanıma (GA) ulaştı, swap alanı hızlı NVMe SSD’lere yönlendirildiğinde node uyuyan belleği diske sayfalayıp çok daha fazla pod barındırabiliyor. Kubernetes blogundaki ölçümler üç farklı iş yükünde 3 kata varan yoğunluk artışı gösteriyor, çoğu durumda gecikme maliyeti ya çok az ya da hiç yok.

Node yoğunluğu sorunu nereden çıkıyor?

Bellek yoğun iş yüklerini planlayan yöneticinin önünde eski bir ikilem duruyor. Bellek limitlerini yüksek tutarsanız boşta duran RAM için pahalı altyapıyı israf edersiniz, düşük tutarsanız OOM (Out-Of-Memory) kill riskine girersiniz.

Otonom yapay zeka ajanları agent-sandbox gibi güvenli yürütme ortamlarıyla dağıtıldığında bu çatışma iyice görünür hale geliyor. Ajan pod’ları başlatma ve güvenilmeyen kodu çalıştırma aşamasında geniş bir bellek alanı istiyor, ama o kısa yoğun etkinlik biter bitmez kullanıcı istemini bekleyen uzun bir boşta kalma dönemine giriyor. Bu atıl durumu fiziksel RAM’de tutmak küme yoğunluğunu tavanlıyor, yapay zeka altyapısının faturasını da büyütüyor.

Swap neden uzun süre önerilmiyordu, şimdi ne değişti?

Kubernetes’te swap tarihsel olarak iki nedenle tavsiye edilmiyordu:

  • Bellek muhasebesi: cgroup v1 altında bellek ve swap tek bir birleşik limit olarak ele alınıyor, operatör disk swap’i için bağımsız bir limit belirleyemiyordu. Bağımsız izleme olmayınca bir süreç büyük miktarda anonim belleği diske sayfalayabiliyor, konteynerin gerçek bellek kullanımı da öngörülemez ve izole edilmesi zor hale geliyordu. Kubernetes’in swap desteği, ayrı swap muhasebesi sunan cgroup v2’ye dayanarak bu sorunu çözüyor.
  • Gecikme cezası: Yavaş dönen disklere sayfalama ciddi gecikme yaratıyordu. Hızlı NVMe Local SSD’ler bu maliyeti büyük ölçüde ortadan kaldırıyor.

İki değişiklik bir araya gelince, küme kararlılığından ödün vermeden pod yoğunluğunu artırmak ve bellek sıçramalarına karşı tampon oluşturmak pratik hale geliyor. Node swap, trafik sıçramalarında veya ağır bellek aşırı tahsisinde bir şok emici gibi çalışıyor.

Üç iş yükünde ölçüm sonuçları

Local SSD destekli node swap’in performans sınırlarını ve tasarruf potansiyelini ölçmek için üç iş yükü kategorisi incelendi: CI/CD boru hatlarını temsil eden klasik derleme işi, yüksek yoğunluklu tarayıcı sandbox’ları ve izole Python çalışma ortamları.

İş yükü profili Swap’siz temel kapasite Local SSD swap ile kapasite Yoğunluk değişimi
Linux CI/CD kernel derlemesi 600 MB RAM limiti 300 MB RAM limiti -%50 RAM ayak izi
Headless Chrome (Kata) 40 eşzamanlı pod 50 eşzamanlı pod +%25 pod yoğunluğu
Headless Chrome (gVisor) 80 eşzamanlı pod 160 eşzamanlı pod +%100 pod yoğunluğu
Python sandbox (gVisor) 80 eşzamanlı pod 240 eşzamanlı pod +%200 pod yoğunluğu

1. Klasik iş yükü: Linux kernel derlemesi

Ajan mimarilerine geçmeden önce swap, tam bir Linux 6.1.1 kernel derlemesiyle klasik toplu iş yüklerinde doğrulandı. Kernel derlemesi eşzamanlı işçi iş parçacıkları kullanıyor, derlenmiş nesne dosyalarını tutmak için bellekte şişiyor, kısa süren bağlama (linking) aşamasında da büyük bir bellek sıçraması istiyor.

Bu davranış kurumsal CI/CD boru hatlarının bellek profilini yansıtıyor. Boru hattı ilerlerken daha önce derlenmiş nesneler bellekte atıl kalıyor, yani CI/CD işleri kullanılmayan fiziksel RAM’i biriktiriyor; tam da node swap ile sıkıştırmaya uygun bir desen.

Swap’siz temel node’da derleme sırasında OOM çökmesini önleyen en düşük bellek limiti 600 MB oldu. Swap Local SSD’ye yönlendirilince konteyner bellek limiti %50 azalıp 300 MB’a indi ve yürütme yavaşlamadı, aksine iş 374 saniyede tamamlandı; temel senaryoda bu süre 433 saniyeydi. Limiti 200 MB’a kadar sıkıştırmak ise aktif çalışma kümesini swap’e itti, uzun I/O bekleme süreleri oluştu ve yürütme süresi %40’ın üzerinde arttı. Sınır burada net görünüyor: swap, ani bellek ihtiyacı için bir sigorta poliçesi, aktif RAM’in yerine geçmiyor.

2. Yüksek yoğunluklu ajan iş yükleri: headless tarayıcılar

Yapay zeka ajanları sıklıkla Chromium üzerinden headless tarayıcı kullanıyor. Dışarıdan gelen kodu çalıştırmak ise standart Linux namespace’lerinden daha sıkı bir izolasyon gerektirebiliyor, bu yüzden farklı konteyner çalışma zamanları karşılaştırıldı. Varsayılan çalışma zamanına ait ham loglar ve test yöntemleri Agent Sandbox GKE Swap dizininde bulunuyor.

Sandbox’siz temel sınır (runc): Güvenlik çalışma zamanlarının ek yükü olmadan ortamın sınırlarını görmek için düz runc konteynerleri c4-standard-32 bir node üzerinde (32 vCPU, 120 GB RAM) tarandı. Swap olmadan node fiziksel belleği tüketti ve 512 pod’un ötesinde başarısız oldu. Local SSD swap etkinleştirildiğinde aynı node 768 eşzamanlı pod’u taşıdı.

Gelişmiş güvenlik çalışma zamanları (gVisor, Kata Containers): Sıkı sandbox’lama bellek ek yükünü artırır, normalde pod yoğunluğunu da düşürür. Swap bu ek yükü doğal biçimde soğuruyor. Swap’siz bir gVisor ortamı 80 pod’da sert sınıra çarptı, Local SSD swap ile tek node üzerinde 160 eşzamanlı gVisor pod’u çalıştırılabildi. Kata Containers microVM’leri de swap olmadan 40 eşzamanlı pod’da fiziksel RAM’i tüketirken, GCP Local SSD swap ile CPU doygunluğuna ulaşılana dek 50 kararlı Kata microVM’e çıkıldı.

Bir ayrıntı önemli. Bu azami yoğunluklarda pod başına gecikme artışının ana nedeni swap I/O değil, pod’ların CPU için yarışması. Belirli bir gecikme hedefine göre ayar yapan operatör buradaki tepe değerlerin altında bir yoğunlukta çalışır ve orantılı olarak daha düşük bir gecikme maliyeti görür. gVisor ve Kata için ayrıntılı mimari çözümleme ve yoğunluk metrikleri Agent Sandbox GKE Swap Runtimes dizininde yer alıyor.

3. İzole Python çalışma ortamları

Node swap’in avantajı, güvenilmeyen kodu izole biçimde çalıştıran ortamlara da uzanıyor. Bu testte eşzamanlı Python sandbox oturumları MovieLens 20M veri kümesinden 5 milyon satırı analiz edecek şekilde çalıştırıldı, her yürütme yaklaşık 375 MiB yerleşik bellek ayak izi istiyordu. Ayrıntılı ölçeklenme sonuçları ve dağıtım kodu Agent Sandbox GKE Swap Python Density dizininde inceleniyor.

Swap olmadan yoğun eşzamanlı sıçramalar fiziksel belleği tüketti, node 80 eşzamanlı oturumda sert RAM sınırına çarpıp başarısız oldu. Local SSD swap etkinleştirildiğinde uyuyan anonim bellek diske aktarıldı, fiziksel RAM serbest kaldı, node’un page cache’i korundu. Node sonunda 240 eşzamanlı izole Python sandbox’ına ölçeklendi, yani yoğunluk 3 katına çıktı. Tarayıcı iş yüklerinde olduğu gibi burada da tepe yoğunluktaki gecikme artışı esas olarak sandbox’ların CPU için yarışmasından kaynaklandı.

Nasıl etkinleştirilir?

Geliştirici ortamları, tarayıcı test çiftlikleri, JVM uygulamaları veya yapay zeka yürütme ortamları işleten ekipler için Local SSD swap, yoğunluk verimliliğini katlayabilir. Kubernetes v1.34 ve sonrasında node swap Genel Kullanıma açık, kubelet yapılandırmasıyla etkinleştiriliyor:

kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
failSwapOn: false
memorySwap:
swapBehavior: LimitedSwap

Bu upstream yapılandırmayı bulut sağlayıcınızın yüksek hızlı yerel diskiyle eşleştirdiğinizde dinamik bellek dengelemesi elde edersiniz. Google Kubernetes Engine’de bunun karşılığı, Local SSD profilleri üzerinde yapılandırılan Node Memory Swap ve yerel olarak destekleniyor.

Kazanımı görmek için iş yüklerini Burstable QoS ile yapılandırmak gerekiyor, yani konteynerin bellek limitini isteğinden (request) yüksek ayarlamak. Node, uygulamanın atıl bellek kullanımına göre hızlı swap alanını otomatik paylaştırırken aktif süreçleri yanıt verebilir durumda tutuyor.

Pratikte ne anlama geliyor?

Kubernetes ekosistemi ajan çağına geçerken yöneticiler, sabit donanım bellek sınırları ile yapay zeka iş yüklerinin sıçramalı davranışı arasında sıkışıyor. Agent Sandbox gibi çerçeveler güvenilmeyen ajanları çalıştırmak için gereken güvenlik izolasyonunu sağlıyor, ama bu izolasyon geleneksel olarak büyük miktarda atıl bellek ek yükü istiyor.

kubelet’i LimitedSwap ile yapılandırıp swap’i Local SSD’ye yönlendirmek bu çatışmayı hafifletiyor. Hızlı swap, boştaki ajanların uyuyan durumlarını diske aktarıyor, böylece aynı altyapı üzerinde güvenlik sınırlarından ödün vermeden pod yoğunluğu ve node kullanımı artıyor. Ölçümlerin gösterdiği sınır da ortada duruyor: swap ani bellek talebi için tampon görevi görüyor, aktif çalışma kümesini diske itecek kadar agresif sıkıştırma yapıldığında ise I/O bekleme süreleri hızla cezaya dönüşüyor.

İlgili İçerikler

  • Kubernetes v1.37: Pod Sertifikaları ve Cluster Trust Bundle
  • Kubernetes v1.36 Pod-Level In-Place Resize: Beta'ya Yükseldi
  • Kubernetes v1.36 Pod-Level Resource Managers: Sidecar Derdi Bitiyor

Kaynaklar ve İleri Okuma

  • Kubernetes Blog — Scaling Kubernetes Workloads with Node Swap (orijinal yazı)
  • kubernetes-sigs/agent-sandbox deposu
  • Google Kubernetes Engine — Node Memory Swap dokümantasyonu
  • Kubernetes Blog RSS akışı
  • Kubernetes v1.37 ile Node Lifecycle Conditions dönemi
  • Node Readiness Controller: Kubernetes’te Ready’nin Ötesi
🤖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 Actions Şüpheli Workflow'ları Onaya Alıyor
GitHub Actions Şüpheli Workflow'ları Onaya Alıyor28 Tem 2026
.NET 11 Preview 5: Sessiz Gelen Yenilikler, Büyük Etki
.NET 11 Preview 5: Sessiz Gelen Yenilikler, Büyük Etki10 Haz 2026
Binlog MCP Server: CI'da Otomatik Build Analizi Devri
Binlog MCP Server: CI'da Otomatik Build Analizi Devri4 Tem 2026
Azure Content Understanding Ağustos 2026: CU 1.0 GA ve CU
Azure Content Understanding Ağustos 2026: CU 1.0 GA ve CU13 Ağu 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 Kubernetes Node Swap NVMe Local SSD OOM Pod Yoğunluğu
Önceki yazı

Azure DevOps Wiki Editörü Monaco ile Çalışıyor

İlginizi Çekebilir

Azure DevOps Wiki Editörü Monaco ile Çalışıyor
Aşkın KILIÇ 0

Azure DevOps Wiki Editörü Monaco ile Çalışıyor

09/10/2026
Azure Functions Dynamic Workflows: DAG ile Dayanıklı AI
Aşkın KILIÇ 0

Azure Functions Dynamic Workflows: DAG ile Dayanıklı AI

09/10/2026
Azure Cosmos DB Portalından Confluent Connector Kurulumu
Aşkın KILIÇ 0

Azure Cosmos DB Portalından Confluent Connector Kurulumu

09/10/2026

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Kubernetes Node Swap ile Pod Yoğunluğunu 3 Katına Çıkarma
    10/10/2026 Kubernetes Node Swap ile Pod Yoğunluğunu 3 Katına Çıkarma
  • Azure DevOps Wiki Editörü Monaco ile Çalışıyor
    09/10/2026 Azure DevOps Wiki Editörü Monaco ile Çalışıyor
  • Azure Functions Dynamic Workflows: DAG ile Dayanıklı AI
    09/10/2026 Azure Functions Dynamic Workflows: DAG ile Dayanıklı AI
  • Azure Cosmos DB Portalından Confluent Connector Kurulumu
    09/10/2026 Azure Cosmos DB Portalından Confluent Connector Kurulumu
  • Azure Hardware Systems: Tedarik Zincirinden Filoya AI
    09/10/2026 Azure Hardware Systems: Tedarik Zincirinden Filoya AI
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • 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 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 public preview 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ı 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Azure DevOps Wiki Editörü Mona...
    →
    📩

    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