ÖZET VE TEKNİK CEVAP
Geleneksel Kubernetes **Cluster Autoscaler (CAS)**, statik AWS Auto Scaling Gruplarına (ASG) bağımlıdır. CAS'ın 3 büyük finansal kusuru vardır: (1) **Katı Sunucu Tipleri**: Bir ASG belirli sunucu ailelerine kilitlidir (yalnızca `m5.2xlarge`). 500mCPU isteyen küçük bir pod geldiğinde CAS 8 çekirdekli devasa bir sunucu ayağa kaldırır. (2) **Yavaş Başlatma**: Düğümlerin hazır olması 3 ila 7 dakika sürer. (3) **Kötü Paketleme ve Parçalanma**: CAS tek bir pod bile hareket ettirilemiyorsa %10 çalışan sunucuyu kapatamaz. **Karpenter** (açık kaynaklı CNCF/AWS autoscaler) bu ekonomiyi baştan yazar: ASG katmanını tamamen baypas eder, doğrudan EC2 Fleet API'siyle konuşarak **tam gereken optimal sunucu tipini 45 saniyede ayağa kaldırır**. Aktif **Düğüm Konsolidasyonu (Node Consolidation)** sayesinde sürekli kümeyi tarar; yarısı boş 3 adet `c5.xlarge` sunucuyu kapatıp pod'ları tek bir ucuz Graviton sunucuda birleştirerek EKS faturasını **%35 ila %55 oranında düşürür**.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
Karpenter düğüm yönetimi bildirimsel NodePool kaynaklarıyla çalışır: (1) Grupsuz Sağlama: Bir pod `Pending` durumuna düştüğünde Karpenter gereksinimleri (CPU, RAM, GPU, spot/on-demand) tartar ve 400'den fazla EC2 tipi arasından en ucuz olanı seçer. (2) Doğrudan EC2 Fleet Çağrısı: ASG bekleme sürelerini atlayarak sunucuyu doğrudan başlatır. (3) Aktif Konsolidasyon Algoritması: Küme yükü düştüğünde Karpenter $N$ adet az kullanılan sunucudaki pod'ların daha az veya daha küçük sunuculara sığıp sığmayacağını sürekli simüle eder. (4) Güvenli Kapatma: İsraf yaratan sunucuları otomatik olarak boşaltır (drain) ve siler.
2. Doğru Kullanım Senaryosu
Büyük Kubernetes kümeleri (EKS), dinamik CI/CD işçi filoları, yapay zeka/ML model eğitim işleri ve yüksek eşzamanlı mikroservis altyapıları.
3. Prodüksiyon Arıza Modları
PodDisruptionBudget (PDB) tanımlanmamış pod'larda agresif konsolidasyon açıp canlı websocket bağlantılarının sürekli kopmasına yol açmak; kısıtlı instance ailesi seçip AWS kapasite darlığında pod'ların askıda kalması.
4. Teşhis ve Telemetri Sinyalleri
Küme genelinde CPU/RAM kullanım verimliliğinin %45'ten %80'in üzerine çıkması; sunucu sayısının trafik değişimlerine 60 saniye içinde dinamik tepki vermesi; loglarda 'Konsolidasyon ile N sunucu kapatıldı, $X tasarruf sağlandı' raporları.
5. Önleme ve Mimari Bariyerler
Tüm canlı servislerde `PodDisruptionBudgets` zorunlu kılın; NodePool tanımlarında esnek sunucu aileleri (`instance-category: [c, m, r]`) kullanın; `consolidationPolicy: WhenEmptyOrUnderutilized` ayarını aktif edin.
6. Mimari Ödünleşimler (Trade-offs)
Karpenter kusursuz bir paketleme verimi ve 1 dakikanın altında sunucu açma hızı sunar; ancak sık pod taşınmalarının kesinti yaratmaması için PodDisruptionBudgets disiplini gerektirir.
Vaka İncelemesi (TinyCTO Örneği)
Bir finans şirketi Cluster Autoscaler kullanarak 60 adet `m5.2xlarge` sunucu çalıştırıyor ve ayda $14.200 ödüyordu. Katı sunucu boyutları yüzünden küme CPU kullanımı ortalama %38'de kalıyordu. Platform ekibi Cluster Autoscaler'ı kaldırıp Karpenter ve Graviton (`arm64`) desteğine geçti. Karpenter 60 adet x86 sunucuyu kapatıp pod'ları 24 adet tam boyutlu Graviton ve Spot sunucuda konsolide etti. Küme verimliliği %84'e çıktı ve aylık sunucu faturası $14.200'den $6.100'e geriledi (%57 net tasarruf).
İnteraktif Konsept Alıştırmaları
2 AlıştırmaKarpenter EC2 sunucularını Cluster Autoscaler'dan (CAS) farklı olarak nasıl başlatır?
Karpenter Düğüm Konsolidasyonu (Node Consolidation) nedir?
Kubernetes Otomatik Ölçekleme: Karpenter Tam Zamanında Düğüm Konsolidasyonu ve Cluster Autoscaler Karşılaştırması — Sıkça Sorulan Sorular
Kritik pod'ların Karpenter konsolidasyonu yüzünden sürekli taşınmasını nasıl engellersiniz?
Aynı anda taşınabilecek pod sayısını sınırlayan PodDisruptionBudgets (PDB) kurun veya hassas pod'lara `karpenter.sh/do-not-disrupt: "true"` etiketini ekleyin.
Karpenter AWS Spot Sunucuları destekler mi?
Evet. Karpenter Spot sunucuları yerel olarak destekler; AWS sunucuyu geri çekmeden 2 dakika önce gelen uyarıyı yakalayarak pod'ları kesintisiz yeni sunucuya taşır.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Karpenter ASG'lere ihtiyaç duymadan tam gereken boyuttaki EC2 sunucularını 45 saniyede başlatır.
- ▸Aktif Düğüm Konsolidasyonu parçalanmış atıl sunucuları otomatik olarak kapatır.
- ▸Cluster Autoscaler'a kıyasla Kubernetes EKS sunucu faturasını %35 ila %55 oranında düşürür.
- ▸Canlı iş yüklerini mutlaka PodDisruptionBudgets (PDB) kuralları ile koruyun.
Yaygın Yanılgılar
- ✗Yanılgı: Karpenter sadece AWS EKS içindir (Gerçek: Karpenter açık kaynaklı bir CNCF projesidir ve Azure AKS desteği de kazanmaktadır).
- ✗Yanılgı: Düğüm konsolidasyonu canlıda kesintiye yol açar (Gerçek: Karpenter PDB kurallarına uyar ve sunucuyu kapatmadan önce pod'ları güvenle diğer sunuculara taşır).
Karar Kılavuzu & Önceliklendirme
Sunucu verimliliğini artırmak ve bulut faturasını yarıya indirmek için Kubernetes kümelerini Cluster Autoscaler'dan Karpenter Düğüm Konsolidasyonuna taşıyın.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Karpenter: Kubernetes Node Autoscaling & Consolidation Architecture— Cloud Native Computing Foundation (CNCF / AWS)
