Kubernetes'te Pod Otomatik Ölçeklendirme: HPA, VPA ve KEDA Arasında Doğru Seçim
HPA kopya sayısını, VPA kaynak boyutunu, KEDA olay tabanlı yükü ölçekler. Üçünü birbirinin yerine kullanmak çoğu ölçeklendirme sorununun kök nedenidir.
Sorunun kaynağı: tek metrikle ölçeklendirme çabuk tükeniyor
Bir servisin kaç kopya (pod) çalıştırması gerektiğini elle belirlemek, trafik sabitken işe yarar. Trafik dalgalandığında ya fazladan kapasite için para öder durursunuz ya da yoğun saatte servis darlığa girer. Kubernetes'in otomatik ölçeklendirme araçları bu kararı sizin yerinize, gerçek zamanlı metriklere bakarak verir. Ama "otomatik ölçeklendirme" tek bir araç değil, üç farklı sorunu çözen üç farklı mekanizmadır: HPA (Horizontal Pod Autoscaler) kopya sayısını değiştirir, VPA (Vertical Pod Autoscaler) her kopyaya ayrılan kaynağı değiştirir, KEDA ise olay tabanlı iş yüklerini kuyruk derinliği veya dış metriklere göre ölçekler. Bu üçünü birbirinin yerine kullanmaya çalışmak, çoğu ölçeklendirme sorununun kök nedenidir.
HPA: CPU ve bellek bazlı yatay ölçeklendirme
HPA, autoscaling/v2 API grubunda tanımlanır ve varsayılan davranışı CPU kullanımına göre kopya sayısını artırıp azaltmaktır. Temel bir tanım şöyle görünür:
Bu yapı basit ama üç şeye bağımlı: metrics-server'ın küme içinde kurulu olması, her podun resources.requests alanının doğru doldurulmuş olması (HPA yüzdeyi bu istekten hesaplar) ve metriğin CPU/bellek dışında bir şey olması gerektiğinde özel bir metrik adaptörünün (Prometheus Adapter gibi) devreye girmesi. requests alanı boş veya gerçek kullanımdan çok uzak yazılmışsa HPA'nın hesapladığı yüzde anlamsızlaşır; bu, sahada en sık görülen HPA tuzağıdır ve HPA "çalışmıyor" değil, "yanlış girdiyle çalışıyor" olur.
HPA'nın gizli ayarı: davranış (behavior) ve flapping
HPA'nın en az bilinen ama en çok tuzak barındıran kısmı behavior alanıdır. Varsayılan ayarlarla bırakılan bir HPA, kısa süreli bir CPU sıçramasında hemen kopya ekler, sıçrama geçince de hemen kopya düşürür; bu davranış "flapping" olarak bilinir ve özellikle isteklerin bağlantı havuzuna dayandığı servislerde her ölçek değişiminde bağlantıların yeniden kurulmasına, dolayısıyla gecikme artışına yol açar. behavior.scaleDown.stabilizationWindowSeconds ile son N saniyedeki en yüksek talebi baz alarak düşürmeyi geciktirebilir, behavior.scaleUp tarafında ise ani artışlarda kaç kopyanın birden ekleneceğini sınırlayabilirsiniz:
Bu ayarı hiç dokunmadan bırakmak, "HPA kararsız davranıyor" şikayetinin en sık nedenidir; sorun HPA'da değil, varsayılan pencerenin sizin trafik desenize uymamasındadır. Aynı bölümde birden fazla metrik de tanımlanabilir (örneğin CPU ve istek başına gecikme birlikte); HPA bu durumda her metriğin önerdiği kopya sayısının en yükseğini uygular, en düşüğünü değil. Bu davranışı bilmeden CPU'ya ek olarak gecikme metriği eklemek, beklenenden daha erken ölçeklenen ama asla beklenenden geç ölçeklenmeyen bir sistem üretir.
VPA: doğru boyutu bulmak, ama bir bedelle
HPA kopya sayısını değiştirirken, bazı iş yüklerinde asıl sorun kopya sayısı değil, her kopyaya verilen CPU/bellek miktarının yanlış tahmin edilmiş olmasıdır. VPA bu tahmini geçmiş kullanım verisinden çıkarır ve resources.requests/limits değerlerini önerir veya otomatik uygular:
Buradaki updateMode: "Auto" seçeneği tarihsel olarak VPA'nın en tartışmalı kısmıdır: geleneksel VPA, kaynak isteğini değiştirmek için podu yeniden başlatır. Bir podun rastgele bir anda yeniden başlaması, tek kopya çalışan bir iş yükünde kısa kesintiye yol açar; arkada birden çok kopya varsa PodDisruptionBudget doğru ayarlanmadığında aynı anda birden fazla podun yeniden başlaması servis kapasitesini geçici olarak düşürür. Bu yüzden VPA'yı üretimde updateMode: "Auto" ile değil, önce "Off" modunda (yalnızca öneri üretir, uygulamaz) çalıştırıp önerilen değerleri elle gözden geçirerek kullanmak daha güvenli bir başlangıçtır. HPA ile aynı kaynak metriğinde (CPU) aynı anda çalıştırmak da önerilmez: ikisi de kaynak isteğini/kopya sayısını aynı sinyale göre değiştirmeye çalışınca birbirinin kararını geçersiz kılan bir döngüye girebilirler.
KEDA: olay tabanlı iş yükleri ve sıfıra ölçekleme
HPA ve VPA, sürekli çalışan ve kaynak tüketimiyle ölçülebilen servisler için tasarlandı. Ama bir kuyruktan mesaj işleyen bir tüketici, mesaj yokken CPU tüketmez; CPU'ya bakan bir HPA bu iş yükünü hiç ölçeklemez çünkü ölçüm zaten yanlış sinyale bakıyordur. KEDA burada araya girer: kopya sayısını CPU değil, kuyruk derinliği, bir mesajlaşma sisteminin metriği, bir cron zamanlaması veya Prometheus sorgusu gibi dış sinyallere göre belirler ve iş yükü tamamen boşken kopya sayısını sıfıra indirebilir.
Sıfıra ölçekleme, boşta duran kapasiteye ödeme yapmamak için cazip görünür ama bir bedeli vardır: sıfırdan ilk podun ayağa kalkması (cold start) saniyeler sürebilir, imaj büyükse ve başlatma sırasında ağır bir kurulum adımı varsa bu süre daha da uzar. Gecikmeye toleranslı arka plan işleri için sıfıra ölçekleme mantıklıdır; kullanıcının isteğe anında yanıt beklediği bir yol için minReplicaCount değerini en az 1'de tutmak, maliyetten kazandığınızdan fazlasını gecikme olarak geri ödemenizi önler.
Hangisini ne zaman seçmeli
Sürekli çalışan, istek bazlı ve CPU/bellek tüketimiyle yükü doğru yansıtan servisler için HPA hâlâ doğru varsayılandır; kurulumu basittir ve ekosistemde en iyi test edilmiş yoldur. Kaynak isteklerinin doğru boyutlandırılıp boyutlandırılmadığından şüpheniz varsa VPA'yı önce salt-öneri modunda çalıştırıp gerçek kullanım verisiyle karar verin, otomatik uygulamaya production'da temkinli geçin. Kuyruk, mesaj sistemi, zamanlanmış iş veya herhangi bir dış metrikle tetiklenen iş yükleri için KEDA'yı tercih edin; KEDA aslında HPA'nın üstüne bir metrik kaynağı ekler, onun yerine geçmez (KEDA kurulduğunda arka planda kendi HPA nesnesini oluşturur).
Ne zaman hiçbirini kurmamalı
Yükü gün içinde neredeyse sabit olan, trafik artışının önceden bilindiği (örneğin belirli saatte tetiklenen toplu bir iş) ya da tek bir kopyanın rahatça kaldırdığı küçük bir servise otomatik ölçeklendirme kurmak, çözülmemiş bir sorunu çözüyormuş gibi görünen bir karmaşıklık katmanı ekler. Bu durumlarda sabit replicas değeri ve gerekirse basit bir zamanlanmış kubectl scale komutu, üç ayrı kontrolcünün etkileşimini debug etmekten daha ucuza gelir. Otomatik ölçeklendirmenin maliyeti sadece CPU/bellek değil, sisteme eklenen bir davranış katmanıdır: metrikler gecikirse, stabilizasyon penceresi yanlış ayarlanırsa ya da bir kopya aniden ölçeklenip geri düşerse (flapping), bu davranışı anlayacak birinin olması gerekir. Küçük ve öngörülebilir bir yük için o kişinin zamanı, otomasyondan daha değerlidir.
1-5 tab geçiş ·
tab sonraki ·
esc geri al ·
↓ kaydır
> ls -lah ~/services/ --sort=tier
[OK] 25 records · 8 featured · 1 retainer · 16 standard
/02 hizmetler
services.tree
> note
· Fiyatlar USD cinsindendir. 6-12 günlük projelerde %7, 13+ günlük projelerde %14 hacim indirimi uygulanmaktadır. 100 adam-gün ve üzeri kapsamlı programlarda proje bazlı özel fiyatlandırma yapılır. Fiyatlar kapsam, aciliyet ve uzun dönem iş birliğine göre müzakere edilebilir.
> ls ~/products/ --open-source
[OK] 2 entries · 1 live · 1 pre-release
/03 ürünler
products.list
liveaçık kaynak · mit/prod/01
filex
her yere gömülebilen self-hosted dosya yöneticisi
tek go binary · vue/react/web-component embed · 5 storage sürücüsü · realtime collab · rbac · native multi-tenancy · ai ajanları için mcp server
Altyapıyı kurar, otomasyonu sağlar, sistemi ayakta tutar.
BRF Teknoloji, Bursa merkezli bir DevSecOps ve yazılım danışmanlık firmasıdır. Kubernetes cluster yönetiminden serverless platform kurulumuna, CI/CD pipeline tasarımından AI agent geliştirmeye kadar 25 farklı hizmet alanında çalışıyoruz.
İşimizin özü basit: sisteminizi ayağa kaldırır, otomatize eder ve gece 3'te sizi uyandırmayacak hale getiririz. Terraform ile altyapınızı kodlar, ArgoCD ile deploy sürecinizi GitOps'a taşır, Prometheus ile her şeyi izleriz. Bir şey bozulursa — biz bozulmadan önce müdahale ederiz.
Vendor lock-in'e karşıyız. Açık kaynak araçlarla, self-hosted çözümlerle ve endüstri standardı teknolojilerle çalışırız. Knative üzerinde kendi serverless platformunuzu kurarız, Kata Containers ile izole ederiz, Vault ile secret'larınızı yönetiriz. Her projeyi net kapsam, net süre, net fiyatla teslim ederiz.
DevSecOps & CI/CD
Kubernetes & Serverless
Infrastructure as Code
AI & Agent (MCP/ACP)
Güvenlik & Sıfır Güven
Full-Stack Geliştirme
Self-Hosted Çözümler
> grep -i question ~/faq.md
[OK] 3 entries · click to expand
[?]BRF Teknoloji'nin DevOps çözümleri hangi hizmetleri içerir?▾
CI/CD pipeline kurulumu, Kubernetes cluster yönetimi, container migrasyonu, Terraform ile altyapı otomasyonu, monitoring & alerting, şirket içi teknoloji kurulumları ve DevOps danışmanlık hizmetleri sunuyoruz.
[?]Yazılım geliştirme hizmetleriniz nelerdir?▾
MVP geliştirme, mevcut yazılım performans optimizasyonu, backend API geliştirme (Node.js, Go, Python) ve tam stack uygulama geliştirme hizmetleri sunuyoruz. Her projede teknik borç minimumda tutularak teslim edilir.
[?]Hangi DevOps araçlarıyla çalışıyorsunuz?▾
Kubernetes ve Docker’dan Talos Linux’a, Terraform ve OpenTofu’dan Ansible’a, Jenkins, GitLab CI/CD, GitHub Actions, ArgoCD, Flux, Helm ve Rancher’a kadar endüstri standardı araçlarla çalışıyoruz. İzleme ve hata takibinde Prometheus, Grafana, Loki, Tempo, OpenTelemetry ve GlitchTip; ağ katmanında Cilium ve Envoy; test otomasyonunda Playwright, Cypress, k6, Locust, Testcontainers ve Trivy kullanıyoruz. Projenizin ihtiyacına göre en uygun araç setini birlikte belirliyoruz.
brf.sh / 2026
·bursa/tr·
timezone utc+3·
tüm sistemler nominal
> ./connect --target=brf.sh
/05 iletişim
contact.txt
> cat contact.txt
[email][email protected] [phone]+90 530 871 2248 [location] Üçevler Mah. İzmir Yolu Cad 241D 16120 Nilüfer/Bursa [hours] Hafta içi 09:00 — 18:00 UTC+3 [eta] <24s iş günü
[OK] handshake ready
· turnstile enabled
· yanıt süresi: <24s · saat dilimi UTC+3 / bursa
CI/CD Pipeline Kurulumu
GitHub Actions, GitLab CI/CD ile otomatik build, test ve deploy süreçleri.
Mevcut ya da sıfırdan bir repo için otomatik build, test ve deploy pipeline'ı kurulur. GitHub Actions, GitLab CI/CD veya tercih edilen araç kullanılır. Staging + production ortamları için ayrı akışlar tanımlanır.
Mevcut uygulamaların container mimarisine taşınması.
Mevcut uygulamaların container mimarisine taşınması. Docker image tasarımı, Compose yapılandırması ve Kubernetes manifest'lerine dönüştürme. İleri düzey izolasyon için Kata Containers / gVisor dahil edilebilir.
Prometheus, Grafana, Loki ile altyapı ve servis izleme.
Prometheus + Grafana stack kurulumu, servis ve altyapı metrikleri için dashboard'lar, kritik eşikler için alert tanımları. İsteğe bağlı: Zabbix, Loki log aggregation.
GitLab, Nextcloud, VPN, mail sunucusu gibi şirket içi araçlar.
GitLab, Mattermost, Nextcloud, mail sunucusu, VPN, iç monitoring gibi araçların şirket sunucularında kurulumu. Docker Compose veya Kubernetes üzerinde deploy edilir.
MCP/ACP agent'lar, RAG pipeline, multi-agent orchestration, model serving.
LLM entegrasyonu (OpenAI, Claude, Gemini, lokal modeller), MCP (Model Context Protocol) ve ACP (Agent Communication Protocol) ile tool-augmented AI agent'lar. RAG pipeline, multi-agent orchestration, model serving (vLLM/Ollama). Mevcut iş süreçlerine yapay zeka katmanı.
Apache Kafka, RabbitMQ, NATS ile event-driven data pipeline. Apache Airflow ile ETL/ELT orkestrasyon, real-time data akışı, CDC (Change Data Capture). Data lake/warehouse tasarımı, schema registry, dead letter queue yönetimi.
Paketler
Kafka/RabbitMQ kurulumu + temel producer/consumer
$3,500
5–7 adam/gün
ETL pipeline (Airflow + source → warehouse)
$5,200
8–12 adam/gün
Tam event-driven architecture (CDC + streaming + DLQ)
ELK Stack veya Loki + Grafana ile merkezi log yönetimi. OpenTelemetry ile distributed tracing, Jaeger/Tempo entegrasyonu. Log retention politikası, structured logging standartları, anomaly detection. Tüm servislerde uçtan uca observability.
Playwright, Cypress ile E2E test otomasyonu, k6/Gatling ile yük testi. CI/CD pipeline'a entegre pre-deploy quality gate, test coverage raporlama, visual regression testing. AI-assisted test generation ile test yazım süresini %60'a kadar düşürme.
Backstage veya Port ile internal developer portal kurulumu. Self-service ortam oluşturma, golden path template'leri, service catalog, TechDocs entegrasyonu. Developer experience (DX) metrikleri, DORA metrics takibi, cognitive load azaltma.
Paketler
Backstage/Port kurulumu + service catalog
$3,900
6–8 adam/gün
Golden path templates + self-service ortam
$6,500
10–14 adam/gün
Tam platform (portal + templates + DORA + DX metrikleri)
Toplanan Kişisel Verileriniz, Toplanma Yöntemi ve Hukuki Sebebi
Kimliğinizi belirli ya da belirlenebilir kılan her türlü bilgi "kişisel veri" olarak kabul edilmektedir. Web sitemizi ziyaret ettiğinizde veya hizmetlerimizi kullandığınızda; ad, soyad, e-posta adresi, telefon numarası gibi iletişim bilgileriniz, IP adresiniz ve tarayıcı çerez verileri otomatik ya da yarı-otomatik yollarla toplanabilir. Bu veriler, 6698 sayılı Kişisel Verilerin Korunması Kanunu'nun 5. maddesinde belirtilen "bir sözleşmenin kurulması veya ifasıyla doğrudan doğruya ilgili olması" ve "ilgili kişinin temel hak ve özgürlüklerine zarar vermemek kaydıyla, veri sorumlusunun meşru menfaatleri için veri işlenmesinin zorunlu olması" hukuki sebeplerine dayanılarak işlenmektedir.
Kişisel Verilerinizin İşlenme Amacı
Toplanan kişisel verileriniz; hizmetlerimizin sunulması ve iyileştirilmesi, müşteri taleplerinin karşılanması, yasal yükümlülüklerin yerine getirilmesi, bilgi güvenliği süreçlerinin yürütülmesi ve iletişim faaliyetlerinin yönetilmesi amaçlarıyla işlenmektedir. Verileriniz, belirtilen amaçlarla sınırlı ve ölçülü olarak işlenir; amacın ortadan kalkması halinde silinir, yok edilir veya anonim hale getirilir.
Toplanan Kişisel Verilerin Kimlere ve Hangi Amaçlarla Aktarılabileceği
Kişisel verileriniz; yasal düzenlemelerin gerektirdiği hallerde kamu kurum ve kuruluşlarına, hizmetlerin sunulması amacıyla iş ortaklarımıza ve teknik altyapı sağlayıcılarına, hukuki uyuşmazlıklarda avukatlar ve danışmanlara aktarılabilir. Aktarım, Kanun'un 8. ve 9. maddelerine uygun olarak, gerekli teknik ve idari tedbirler alınarak gerçekleştirilir.
Kişisel Verileri İşlenen Kişi Olarak Haklarınız
6698 sayılı Kanun'un 11. maddesi uyarınca; kişisel verilerinizin işlenip işlenmediğini öğrenme, işlenmişse bilgi talep etme, işlenme amacını ve amacına uygun kullanılıp kullanılmadığını öğrenme, yurt içinde veya yurt dışında aktarıldığı üçüncü kişileri bilme, eksik veya yanlış işlenmişse düzeltilmesini isteme, Kanun'un 7. maddesindeki şartlar çerçevesinde silinmesini veya yok edilmesini isteme, yapılan işlemlerin aktarıldığı üçüncü kişilere bildirilmesini isteme, münhasıran otomatik sistemler vasıtasıyla analiz edilmesi suretiyle aleyhinize bir sonucun ortaya çıkmasına itiraz etme ve kanuna aykırı işleme sebebiyle zarara uğramanız halinde zararın giderilmesini talep etme haklarına sahipsiniz. Bu haklarınızı kullanmak için web sitemizdeki iletişim kanalları aracılığıyla bize başvurabilirsiniz.
Şartlar ve Koşullar
Şartlar ve Koşullar
1. Hizmet Kapsamı ve Değişiklikler
BRF Teknoloji, sunduğu yazılım geliştirme, DevOps danışmanlık, altyapı kurulumu ve teknik destek hizmetlerini bu şartlar ve koşullar çerçevesinde yürütür. Hizmet kapsamı, her proje için ayrıca belirlenir ve karşılıklı mutabakat ile kesinleştirilir. BRF Teknoloji, sunduğu hizmetlerin kapsamını, fiyatlandırmasını ve teknik detaylarını önceden bildirmek kaydıyla güncelleme hakkını saklı tutar.
2. Gizlilik Politikası
Hizmetlerimiz kapsamında toplanan kişisel veriler, Gizlilik Politikamız çerçevesinde işlenir. Detaylı bilgi için Gizlilik Politikası sayfamızı inceleyebilirsiniz.
3. Hizmet Kullanımı ve Sorumluluklar
Müşteriler, sunulan hizmetleri yalnızca yasal ve etik çerçevede kullanmayı kabul eder. Hizmetlerin kötüye kullanılması, üçüncü taraf haklarının ihlali veya yasa dışı faaliyetler için kullanılması durumunda BRF Teknoloji hizmeti askıya alma veya sonlandırma hakkına sahiptir. Müşteri, proje kapsamında sağladığı bilgilerin doğruluğundan ve güncelliğinden sorumludur.
4. Ödeme Şartları
Ödeme koşulları proje bazında belirlenir ve proje başlangıcında karşılıklı mutabakat ile kesinleştirilir. Aksi belirtilmedikçe, faturalar proje tesliminden itibaren 15 gün içinde ödenir. Geciken ödemelerde aylık %2 gecikme faizi uygulanabilir.
5. İptal ve İade Politikası
İptal talepleri, hizmetin başlangıç tarihinden en az 7 gün önce yazılı olarak bildirilmelidir. Başlamış projelerde, tamamlanan iş oranına göre ücretlendirme yapılır. Proje kapsamında özel olarak geliştirilen yazılım ve altyapı bileşenleri için iade yapılmaz.