Skip to main content

> kubernetes_pod_sıkıştırma_ve_kaynak_doğrulama

Kubernetes Pod Sıkıştırma ve Kaynak Doğrulama

Kubernetes kümeleri düğüm CPU tahsisini %70 gösterirken gerçek kullanım neden genellikle %15'in altındadır?

Stack: KUBERNETES STACKSenior (L5-L6)pattern

ÖZET VE TEKNİK CEVAP

Çünkü geliştiriciler tahmine dayalı abartılı CPU/RAM `requests` değerleri tanımlar ve bu durum Kubernetes zamanlayıcısının (scheduler) aynı fiziksel sunucuya daha fazla pod yerleştirmesini engeller.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Kube-scheduler sunucu kapasitesini gerçek kullanıma göre değil, podların `requests` taleplerine göre kilitler. Talepler gerçeğin çok üzerinde olduğunda küme hayali kapasite ihtiyacı için gereksiz onlarca sunucu açar.

2. Doğru Kullanım Senaryosu

Yüksek yoğunluklu çok kiracılı Kubernetes kümeleri, mikroservis filoları ve otomatik ölçeklenen konteyner altyapıları için zorunludur.

3. Prodüksiyon Arıza Modları

Her biri 2 çekirdek talep eden 100 pod için 50 adet sunucu açılması ($6.000/ay), ancak gerçekte pod başına sadece 0.05 çekirdek tüketilerek ayda 5.000 dolardan fazla paranın çöpe gitmesi.

4. Teşhis ve Telemetri Sinyalleri

Kubecost veya Prometheus sorgularıyla podların talep ettiği kaynak (`requests`) ile gerçek tükettiği kaynağı 14 günlük periyotta kıyaslayın.

5. Önleme ve Mimari Bariyerler

Vertical Pod Autoscaler (VPA) veya Goldilocks kurarak p95 kullanım istatistiklerine dayalı otomatik kaynak önerileri üretin.

6. Mimari Ödünleşimler (Trade-offs)

Sıkı kaynak talepleri sunucu yoğunluğunu artırıp maliyeti düşürür, ancak ani trafik artışlarında podların çökmesini (OOMKilled) önlemek için doğru bellek limitleri gerektirir.

Vaka İncelemesi (TinyCTO Örneği)

Bir e-ticaret platformu VPA verilerini kullanarak 45 mikroservisin kaynak taleplerini düzeltti. Ortalama sunucu kullanımı %11'den %58'e çıktı ve küme 64 sunucudan 14 sunucuya küçüldü.

İnteraktif Konsept Alıştırmaları

3 Alıştırma
Q1

Kubernetes kaynak `requests` ile `limits` arasındaki fark nedir?

`Requests` podun sunucuya yerleşimi için ayrılan garantili kapasitedir; `limits` ise podun aşamayacağı katı tavan sınırdır.
Q2

Kubernetes'te bin-packing (kutu paketleme) nedir?

Podları mümkün olan en az sayıda sunucuya sıkıştırarak kaynak yoğunluğunu artıran ve boş sunucu sayısını sıfırlayan optimizasyondur.
Q3

Bir konteyner bellek (memory) limitini aşarsa ne olur?

Linux çekirdeği konteyner sürecini OOMKilled (Çıkış Kodu 137) sinyaliyle anında öldürür.

Kubernetes Pod Sıkıştırma ve Kaynak Doğrulama — Sıkça Sorulan Sorular

CPU limitini her zaman CPU talebine (requests) eşit mi ayarlamalıyız?

Hayır; CPU limitini esnek bırakmak podun anlık dalgalanmalarda serbestçe güç kullanmasına izin verir.

Kubecost nedir?

Kubernetes kümeleri içinde gerçek zamanlı maliyet takibi ve kaynak doğrulama önerileri sunan açık kaynaklı bir araçtır.

Karpenter pod sıkıştırmaya (bin packing) nasıl yardımcı olur?

Az kullanılan sunucuları dinamik olarak birleştirir (consolidation) ve bekleyen podlara tam uyan en uygun sunucu boyutlarını otomatik açar.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Çoğu kurumsal Kubernetes kümesi, kaynak taleplerini gerçek p95 kullanımına göre ayarlayarak sunucu sayısını %50 azaltabilir.

Yaygın Yanılgılar

  • 4 CPU talep etmenin gerçek iş yükünden bağımsız olarak uygulamayı 4 kat hızlandıracağına inanmak.

Karar Kılavuzu & Önceliklendirme

Pod taleplerini Kubecost ile denetleyin ve >%60 küme yoğunluğu yakalamak için Karpenter konsolidasyonunu devreye alın.

Doğrulanmış Kaynaklar & Referanslar

İlgili Kavramlar