Kubernetes’te AI Agent Sandbox: Pratik Rehber
Şahsen, Geçen ay bir finans müşterimizde ilginç bir toplantı oldu. Ekip, LLM tabanlı birden fazla ajan çalıştırmak istiyordu — her biri ayrı iş yapan, birbirleriyle konuşan, kod üreten ve gerektiğinde onu çalıştıran ajanlar. İlk refleksleri neydi? Her ajan için bir StatefulSet tanımla, yanına headless Service koy, bir de PersistentVolumeClaim bağla. Sonuç? 15 ajan için 45 ayrı Kubernetes manifesti. Açık konuşayım, bu işin sonu yönetilemez bir karmaşaya gidiyordu.
Şöyle söyleyeyim, İşte tam burada SIĞ Apps altında geliştirilen Agent Sandbox projesi devreye giriyor (en azından benim gördüğüm tablo böyle). Proje daha yolun başında, evet; ama çözmeye çalıştığı dert baya gerçek (ciddiyim). Bu beni açıkçası şaşırtmadı değil, çünkü benzer sıkışmaları Türkiye’deki kurumsal müşterilerde birebir görüyorum. O yüzden konuyu kendi tecrübemle anlatayım dedim.
AI Ajanları Neden Farklı Bir Canlı?
Hani şöyle düşünün: klasik bir web API’si stateless çalışıyor. İstek gelir, cevap döner, konu kapanır. Kubernetes’in Deployment ya da ReplicaSet gibi soyutlamaları da tam bu dünya için gayet iyi oturuyor. Ama AI ajanları… İlginç, değil mi? şey, bunlar biraz başka türlü davranıyor.
İtiraf edeyim, bir AI ajanı uzun süre ayakta kalıyor. Bağlam tutuyor. Kod yazıp çalıştırıyor — ve o kodun güvenilir olup olmadığını siz de ben de çoğu zaman anında bilemiyoruz. Bazen boşta duruyor, sonra bir anda iş yükleniyor. Klasik request-response mantığından ziyade, daha çok bir dijital çalışma masası gibi düşünmek lazım. Kulağa basit geliyor ama değil.
Bence, İnanın, 2024’ün sonlarında bir telekom şirketinde PoC yapıyorduk. Müşteri destek ajanları oluşturmak istiyorlardı — her ajan bir müşteri oturumuna bağlıydı, konuşma geçmişini tutuyordu, gerektiğinde SQL sorgusu üretip çalıştırıyordu. Bunu vanilla Kubernetes ile yönetmeye kalkınca neler oldu biliyor musunuz? Neyse, her ajan için ayrı kaynak tanımı çıktı ortaya, güvenlik politikası ayrıydı, ağ izolasyonu ayrıydı… Açık konuşayım, operasyon tarafı iyice dağıldı.
Çok konuştum, örnekle göstereyim.
AI ajanları singleton, stateful ve çoğunlukla idle çalışan workload’lardır. Bu profil, Kubernetes’in geleneksel soyutlamalarıyla doğrudan örtüşmüyor.
Bence, Bir saniye — mesela ReplicaSet’i alın; çoklu kopya çalıştırmak için tasarlanmış. Burada ise tekil çalışan bir ajandan söz ediyoruz. StatefulSet’e gidebilirsiniz, evet; ama sırf 1’lik StatefulSet tanımlamak biraz garip duruyor. Üstüne bir de o ajanı durdurup sonra hızlıca geri açmak istediğinizde — suspend/resume mekanizması StatefulSet’te yok. İşte Agent Sandbox tam bu boşluğu hedefliyor.
Agent Sandbox Ne Getiriyor?
Şahsen, Peki içinde ne var? Temelde Sandbox CRD (Custom Resource Definition) var. Tek container’lık hafif bir çalışma ortamı sunuyor gibi görünüyor ama “hafif” deyip geçmeyin; altta iş gören birkaç parça var. Bazıları beklediğimden daha düzenli duruyor.
Güvenlik İzolasyonu
Bence, En kritik mesele zaten bu. Bir AI ajanı kod üretiyor ve çalıştırıyor; o kodun ne yapacağını önceden kestirmek zor oluyor. Sandbox tarafı gVisor veya Kata — ki bu tartışılır — Containers gibi runtime’ları doğal biçimde destekliyor. Yani kernel seviyesinde izolasyon alıyorsunuz; multi-tenant ortamlarda bu iş ciddi fark yaratıyor.
Geçen sene bir müşteride gVisor’ı Kubernetes üzerinde denemiştik; ayrı ayrı RuntimeClass tanımlayıp pod’lara atamak bayağı uğraştırmıştı açıkçası. Sandbox CRD’de bunun spec içine gömülmesi işleri sadeleştiriyor. İdare eder yani da tam burada çıkıyor.
Yaşam Döngüsü Yönetimi
Bence en hoş taraf burası. Bir ajanı suspend edebiliyorsunuz — yani pod kapanıyor ama durum korunuyor. Bu ne demek? Sonra ihtiyaç olduğunda resume ile tekrar ayağa kalkıyor; hem hızlı hem de maliyet tarafında etkisi hissediliyor.
Bunu yaşayan biri olarak söyleyeyim, Düşünün: 100 tane ajanınız var. Herhangi bir anda sadece 10-15’i aktif oluyor (geri kalanlar boşta bekliyor). Klasik modelde hepsine kaynak ayırıyorsunuz; suspend mekanizmasıyla işe sadece aktif olanlar tüketim yapıyor. Bunu
Bir dakika — bununla bitmedi.
Logosoft’ta son 6 ayda AI ile ilgili gelen taleplerin %60’ında “ajan” kelimesi geçiyor.
Müşteriler artık sadece “bir model çağırayım” demiyor; sürekli çalışan, karar verebilen ve araç kullanan bir şey istiyorlar.
Sonra da doğal olarak soruyorlar : bunu nereye koyacağız?
Evet, büyük bankalar ve telekom şirketleri zaten AKS (Azure Kubernetes Service) kullanıyor.
Agent Sandbox gibi bir CRD mevcut altyapının üstüne oturabiliyor.
Yeni platform öğrenmek gerekmiyor — bak şimdi asıl rahatlatıcı kısım bu.
Türkiye’de BT ekiplerinin yeni teknoloji benimseme hızı çoğu zaman ekip büyüklüğüyle paralel gidiyor; beş kişilik DevOps takımına “bir de şu platformu öğrenin” demek pek gerçekçi olmuyor doğrusu.
Agent Sandbox mevcut Kubernetes cluster’larınıza CRD olarak ekleniyor.
Yeni platform kurmanıza gerek yok — kubectl apply ile başlayabilirsiniz.
Kimler İçin Mantıklı, Kimler İçin Erken?
Doğrusu, Kritik soru burada geliyor : gerçekten ihtiyacınız var mı? Her yeni teknolojide olduğu gibi önce bunu sormak gerekiyor. Yoksa insan kendini gereksiz yere tool peşinde koşarken buluyor.
Bunu biraz açayım.
| Senaryo | Agen Sandbox Uygun mu? | Alternatif |
|---|---|---|
| Kurum içi kullanım — 50+ ajan, multi-tenant | ⚠Status quo : | Status quo : |
| Status quo : |
Sıkça Sorulan Sorular
Agent Sandbox ile StatefulSet arasındaki fark nedir?
StatefulSet aslında birden fazla replika için düşünülmüş, genel amaçlı bir kaynak. Agent Sandbox ise tek container’lık bir şey — üstüne suspend/resume desteği geliyor, güvenlik izolasyonu da içine yerleşik. Yani tek bir ajanı yönetmek için StatefulSet + Service + PVC üçlüsünü ayrı ayrı tanımlamak yerine, Sandbox bunların hepsini tek bir YAML’da hallediyor. Bence bu tek başına büyük bir kolaylık (şaşırtıcı ama gerçek)
Şimdi gelelim işin can alıcı noktasına.
Agent Sandbox production’da kullanılabilir mi?
Açıkçası şu an (2026 Q2 itibarıyla) proje hâlâ alpha aşamasında. Test ve PoC ortamlarında kullanabilirsiniz, ama production için API stability garantisi henüz verilmiyor. SIĞ Apps’ın roadmap’ını takip edin — beta’ya geçtiğinde production değerlendirmesi yapmak çok daha mantıklı olur.
Hangi Kubernetes versiyonları destekleniyor?
Minimum Kubernetes 1.28 lazım. RuntimeClass desteği istiyorsanız — mesela gVisor ya da Kata için — node’larınızın da uygun runtime’larla yapılandırılmış olması gerekiyor. AKS, GKE ve EKS’de sorunsuz çalışıyor.
Suspend/resume sırasında veri kaybı oluyor mu?
Hayır, PersistentVolumeClaim üzerindeki veriler korunuyor. Ajan suspend edildiğinde pod siliniyor ama disk olduğu gibi duruyor (ciddiyim) (buna dikkat edin). Resume edilince yeni pod aynı PVC’yi mount ediyor ve kaldığı yerden devam ediyor. Şunu da es geçmeyin: in-memory state gidiyor — bunu ajanınızın kendi checkpoint mekanizmasıyla yönetmeniz gerekiyor.
Maliyet açısından ne kadar fark yaratıyor?
Tamamen kullanım profilinize bağlı. Ajanlarınız sürekli aktifse fark zaten minimal (inanın bana). Ama çoğu idle duruyorsa — ki AI ajanlarında bu tipik bir durum — suspend/resume ile compute maliyetlerinde %50-70 arası tasarruf mümkün. Tecrübeme göre projelerde ortalama %40-50 civarında bir düşüş görüyorum.
Evet, doğru duydunuz.
Kaynaklar ve İleri Okuma
Running Agents on Kubernetes with Agent Sandbox — Kubernetes Blog







2 comments