ÖZET VE TEKNİK CEVAP
Sunucu tiplerini birden fazla kullanılabilirlik bölgesinde (AZ) çeşitlendirerek, Node Termination Handler ile 2 dakikalık tahliye uyarısını dinleyerek, PodDisruptionBudget uygulayarak ve kritik yollar için taban bir On-Demand havuzu tutarak.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
Bulut sağlayıcılar atıl kapasitelerini %90'a varan indirimlerle sunar; ancak 2 dakikalık (GCP'de 30 saniye) uyarı ile sunucuyu geri alma hakkını saklı tutar. Dayanıklı spot mimarisi; Karpenter veya Cluster Autoscaler'ı çoklu aile/boyut çeşitlendirmesiyle, SIGTERM ile yumuşak bağlantı tahliyesiyle ve tüm kopyaların aynı spot havuzuna düşmesini engelleyen anti-affinity kurallarıyla harmanlar.
2. Doğru Kullanım Senaryosu
Durumsuz (stateless) web API'leri, asenkron kuyruk işleme servisleri, CI/CD derleme ajanları, dağıtık yük testi üreteçleri ve hata toleranslı yapay zeka model eğitim kontrol noktaları için idealdir.
3. Prodüksiyon Arıza Modları
Bir küme tüm spot düğümleri için yalnızca tek bir sunucu ailesi (örn. sadece c5.large) seçer. AWS o ailede yüksek talep yaşayıp tüm düğümleri aynı anda geri aldığında, yeni sunucular ayağa kalkana kadar tam bir hizmet kesintisi (outage) yaşanır.
4. Teşhis ve Telemetri Sinyalleri
1. 502 Bad Gateway hata sıçramalarıyla örtüşen sık `NodeNotReady` olayları. 2. Spot geri çağırma anlarında tetiklenen `KubePodNotReady` alarmları. 3. Karpenter veya ASG loglarında spot kapasite bulunamadı hataları.
5. Önleme ve Mimari Bariyerler
3 Kullanılabilirlik Bölgesinde (AZ) 15'ten fazla uyumlu VM boyutunu kapsayan esnek Karpenter tanımları kullanın. Amazon EventBridge kesinti uyarısı geldiğinde düğümü anında taint edip `kubectl drain` başlatan AWS Node Termination Handler kurun.
6. Mimari Ödünleşimler (Trade-offs)
Kusursuz yumuşak kapanma (graceful shutdown) mekanizmaları ve autoscaler optimizasyonu geliştirme yatırımı gerektirir; karşılığında işlemci faturalarında %70-90 gibi devasa bir tasarruf sağlar.
Vaka İncelemesi (TinyCTO Örneği)
TinyCTO, 800 çekirdekli video işleme kuyruğunu On-Demand c5.4xlarge sunuculardan Karpenter ile yönetilen c5, c6i ve m6i ailelerini kapsayan hibrit bir Spot havuzuna taşıdı. Aylık maliyet 28.000 dolardan 4.900 dolara düştü ve 6 ay boyunca tek bir iş bile yarıda kalmadı.
İnteraktif Konsept Alıştırmaları
3 AlıştırmaStandart AWS Spot geri çağırma uyarı süresi ne kadardır?
Spot dayanıklılığı için sunucu tipi çeşitlendirmesi neden kritiktir?
Spot düğüm tahliyesi sırasında servis erişilebilirliğini hangi Kubernetes mekanizması korur?
Spot & Kesintili (Preemptible) Düğüm Dayanıklılık Mimarisi — Sıkça Sorulan Sorular
Veritabanlarını veya stateful iş yüklerini Spot sunucularda çalıştırabilir miyiz?
Genellikle tavsiye edilmez; 2 dakikalık tahliyede EBS disklerinin sökülüp yeni düğüme takılma gecikmesi veritabanında uzun kesintilere ve çoğunluk (quorum) kaybına yol açar.
Hedef bölgede hiç Spot kapasite bulunamazsa ne olur?
Karpenter gibi modern autoscaler'lar, spot havuzları tükendiğinde otomatik olarak On-Demand sunucu açacak şekilde yedek politika ile yapılandırılabilir.
Karpenter standart Auto Scaling Group'lara kıyasla Spot yönetimini nasıl iyileştirir?
Karpenter pod taleplerini doğrudan değerlendirir ve önceden sabitlenmiş ASG sınırları olmadan saniyeler içinde en uygun, çeşitlendirilmiş spot sunucuları açar.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Spot sunucular On-Demand sunucularla birebir aynı donanım performansını %70-90 daha ucuza sunar.
- ▸Yumuşak kapanma mekanizmaları olmadan spot geri çağırmaları aktif HTTP bağlantılarını koparır ve sürmekte olan işlemleri bozar.
Yaygın Yanılgılar
- ✗Spot sunucuların canlı müşteri trafiği için fazla güvenilmez olduğuna inanmak.
Karar Kılavuzu & Önceliklendirme
Tüm durumsuz backend mikroservisleriniz için en az 3 AZ ve 10 sunucu tipi içeren Karpenter ve doğrulanmış PDB'lerle Spot kullanımına geçin.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL-DOC]EC2 Spot Instances: Best Practices for Resilient Architectures— Amazon Web Services
- [OFFICIAL-DOC]Karpenter Node Autoscaling on AWS— Karpenter Project
