Auto Scaling, işlem kaynaklarını iş yükü talebine göre dinamik olarak ayarlayarak maliyetleri düşürür ve hizmet kararlılığını korur. Container Compute Service (ACS), beş Auto Scaling bileşenini destekler: Horizontal Pod Autoscaler (HPA), Cron Horizontal Pod Autoscaler (CronHPA), Adaptive Horizontal Pod Autoscaling (AHPA), Kubernetes Event-driven Autoscaling (KEDA) ve Automatic Vertical Pod Autoscaler (AVPA). İş yükü türünüze bağlı olarak tek bir bileşen kullanabilir veya birden fazla bileşeni birlikte kullanabilirsiniz.
Auto Scaling bileşenleri
| Bileşen | Açıklama | İş yükü desteği | Kısıtlamalar |
|---|---|---|---|
| HPA | Çevrimiçi uygulamalar için yerleşik Kubernetes bileşenidir. CPU ve bellek kullanımı gibi kaynak ölçümlerine göre ölçeklendirme yapar. | Deployments, StatefulSets | — |
| CronHPA | Öngörülebilir ve tekrarlayan kaynak desenlerine sahip iş yükleri için açık kaynak bir bileşendir. HPA ile uyumludur; zamanlanmış ve ölçüm tabanlı ölçeklendirmeyi birlikte yönetmek amacıyla her ikisini aynı anda çalıştırabilirsiniz. | Deployments, StatefulSets | — |
| AHPA | Geçmiş kullanım desenlerinden yola çıkarak gelecekteki kaynak ihtiyaçlarını tahmin eden açık kaynak bir bileşendir. Canlı yayın, çevrimiçi eğitim ve oyun gibi periyodik dalgalanmalar gösteren iş yükleri için uygundur. | Deployments, StatefulSets | Tahmin oluşturmak için en az 7 günlük geçmiş veri gerekir. |
| KEDA | Harici olay kaynaklarına göre ölçeklendirme yapan açık kaynak bir bileşendir. Olay güdümlü işler, çevrimdışı ses ve video kod dönüştürme ile akış verisi işleme senaryoları için uygundur. | Deployments, StatefulSets | — |
| AVPA | Çoğaltma sayısını değiştirmek yerine pod kaynak teknik özelliklerini dikey olarak ayarlayan Marketplace bileşenidir. Oyun hizmetleri ve çevrimdışı işler gibi yatay ölçeklendirmeye uygun olmayan durum bilgisi içeren iş yükleri veya işler için uygundur. | Tüm iş yükleri | Yalnızca CPU ayarlamasını destekler. 10 dakika veya daha uzun süren yük değişiklikleri için uygundur. Saniye düzeyindeki yük ani artışları veya bellek ayarlaması için uygun değildir. |
HPA
Horizontal Pod Autoscaler (HPA), CPU ve bellek kullanımı gibi gözlemlenen kaynak ölçümlerine dayanarak pod çoğaltma sayısını ölçeklendiren yerleşik bir Kubernetes bileşenidir. HPA, değişken ancak öngörülemez yüklere sahip çevrimiçi uygulamalar için en iyi sonucu verir.
Başlamak için bkz. HPA.
CronHPA
CronHPA, iş yüklerini tanımlanmış bir programa göre ölçeklendiren açık kaynak bir bileşendir. Bu nedenle, örneğin her hafta içi sabah yoğun trafik alan bir web hizmeti gibi öngörülebilir ve tekrarlayan kaynak desenlerine sahip uygulamalar için son derece uygundur.
Mevcut ölçümlere tepki veren HPA'nın aksine CronHPA, zamana dayalı olarak proaktif şekilde hareket eder. İki bileşen birbirleriyle uyumludur: CronHPA ve HPA'yı birlikte çalıştırdığınızda hem zamanlanmış ölçeklendirmeyi hem de beklenmedik ölçüm kaynaklı ani artışları yönetebilirsiniz.
Başlamak için bkz. CronHPA.
AHPA
Adaptive Horizontal Pod Autoscaling (AHPA), geçmiş iş yükü ölçümlerini analiz ederek gelecekteki kaynak ihtiyaçlarını tahmin eden ve pod'ları önceden ölçeklendiren açık kaynak bir bileşendir. Bu proaktif yaklaşım, standart HPA'da görülebilen gecikmeli ölçeklendirmeyi önler.
AHPA, yük desenlerinin günler veya haftalar boyunca tekrarladığı canlı yayın, çevrimiçi eğitim ve oyun hizmetleri gibi periyodik dalgalanmalar gösteren iş yükleri için uygundur.
Kısıtlama: AHPA'nın tahmin oluşturabilmesi için en az 7 günlük geçmiş veriye ihtiyacı vardır. Deployments ve StatefulSets'i destekler.
Başlamak için bkz. Adaptive Horizontal Pod Autoscaling (AHPA).
KEDA
Kubernetes Event-driven Autoscaling (KEDA), kaynak ölçümleri yerine harici olay kaynaklarına dayalı olarak iş yüklerini ölçeklendirir. KEDA, HPA'dan temel bir farklılık gösterir: HPA ölçüm güdümlüdür, KEDA ise olay güdümlüdür.
Gelen olayların hacminin kaynak kullanımından daha anlamlı bir ölçeklendirme sinyali olduğu çevrimdışı ses ve video kod dönüştürme, olay güdümlü işler ve akış verisi işleme senaryoları için KEDA uygundur.
Başlamak için bkz. Kubernetes Event-driven Autoscaling (KEDA).
AVPA
Automatic Vertical Pod Autoscaler (AVPA), çoğaltma sayısını değiştirmek yerine tek tek pod'ların CPU kaynak teknik özelliklerini ayarlar. Oyun hizmetleri ve çevrimdışı işler gibi yatay ölçeklendirmeye uygun olmayan durum bilgisi içeren iş yükleri veya işlerin yanı sıra kaynak istekleri yanlış boyutlandırılmış iş yükleri için uygundur.
AVPA, yük artmadan önce kaynak teknik özelliklerini proaktif olarak ayarlayarak uygulama başlatma hızlanmasını da destekler.
Kısıtlamalar:
Yalnızca CPU kaynağı ayarlamasını destekler. Bellek ayarlaması desteklenmez.
10 dakika veya daha uzun süren yük değişiklikleri için uygundur. Saniye düzeyindeki yük ani artışları için uygun değildir.
Başlamak için bkz. dikey pod otomatik ölçeklendirme (AVPA).
Sonraki adımlar
Zamanlanmış ve ölçüm tabanlı ölçeklendirme için CronHPA'yı HPA ile birleştirmek üzere bkz. CronHPA.
Periyodik iş yükleri için tahmine dayalı ölçeklendirme kullanmak üzere bkz. Adaptive Horizontal Pod Autoscaling (AHPA).
Harici olay kaynaklarına göre ölçeklendirme yapmak için bkz. Kubernetes Event-driven Autoscaling (KEDA).