Azure Kubernetes Service (AKS) Kubernetes Event-driven Autoscaling (KEDA) eklentisiyle basitleştirilmiş uygulama otomatik ölçeklendirmesi

Önemli

AKS için KEDA eklentisi şu anda Ölçüm Sunucusu veya İşleci için CPU isteklerinin veya sınırlarının ve diğer Helm değerlerinin değiştirilmesini desteklememektedir. Eklentiyi kullanırken bu sınırlamayı göz önünde bulundurun. Sorularınız varsa buradan ulaşabilirsiniz.

Kubernetes Olay Odaklı Otomatik Ölçeklendirme (KEDA), uygulama otomatik ölçeklendirmesini basit hale getiren tek amaçlı ve basit bir bileşendir. Bu bir Bulut Native Computing Foundation (CNCF) Lisansüstü projesidir. KEDA, sıfıra ölçekleme ile talebi sürdürülebilir ve uygun maliyetli bir şekilde karşılamak üzere uygulamanızı ölçeklendirmek için olay odaklı otomatik ölçeklendirme kullanır.

Çoğu üretim iş yükü için AKS Otomatik, önerilen varsayılan AKS deneyimidir. AKS Otomatik varsayılan olarak üretime hazırdır ve kümede önceden yapılandırılmış KEDA içerir. AKS Standard kullanıyorsanız yönetilen KEDA eklentisini kullanarak KEDA'yı etkinleştirebilirsiniz.

AKS Automatic hakkında daha fazla bilgi edinmek için bkz. Azure Kubernetes Service (AKS) Automatic nedir?

Uyarı

KEDA sürüm 2.15+, pod kimliği desteğini kaldıran önemli bir değişikliği tanıtır. Pod kimliği kullanıyorsanız kimlik doğrulamanız için iş yükü kimliğine geçmenizi öneririz. KEDA yönetilen eklentisi şu anda KEDA sürüm 2.15+ çalıştırmasa da, yönetilen eklenti AKS önizleme sürümü 1.32'de KEDA 2.15+ çalıştırmaya başlar.

İş yükü kimliğiyle uygulamalarınızı güvenli bir şekilde ölçeklendirme hakkında daha fazla bilgi için öğreticimizi okuyun. KEDA'nın önemli değişiklik/kullanımdan kaldırma politikasını görüntülemek için resmi belgelerini okuyun.

AKS Otomatik ve AKS Standard'da KEDA

KEDA her iki AKS kümesi modunda da kullanılabilir, ancak kurulum yolu farklıdır:

  • AKS Otomatik: KEDA önceden yapılandırılmış ve kullanıma hazırdır.
  • AKS Standard: AKS tarafından yönetilen eklentiyi açarak KEDA'yı etkinleştirin.

Çoğu üretim senaryosunda, üretime hazır varsayılanları kullanmak ve küme yönetimi ek yükünü azaltmak için AKS Otomatik ile başlayın.

Mimarlık

KEDA iki ana bileşen sağlar:

  • KEDA işleci Kubernetes Dağıtımları, İşler StatefulSetsveya alt kaynağı tanımlayan /scale herhangi bir özel kaynak desteğiyle son kullanıcıların iş yüklerini 0'dan N örneğe ölçeklendirmesine olanak tanır.
  • Ölçüm sunucusu , Kafka konu başlığındaki iletiler veya Azure olay hub'ında olay sayısı gibi otomatik ölçeklendirme amacıyla Kubernetes'teki Yatay Pod Otomatik Ölçeklendiricisi'nde (HPA) dış ölçümleri kullanıma sunar. Yukarı akış sınırlamaları nedeniyle, KEDA'nın yüklenen tek dış ölçüm bağdaştırıcısı olması gerekir.

KEDA mimarisini ve Kubernetes'i nasıl genişlettiği gösteren diyagram.

Resmi KEDA belgelerinde KEDA'nın nasıl çalıştığı hakkında daha fazla bilgi edinin.

Yükleme ve etkinleştirme

AKS Otomatik

KEDA, AKS Otomatik'te önceden yapılandırılmıştır. Ayrı bir KEDA eklentisi yükleme adımı gerekmez.

AKS Standard

Aşağıdaki yöntemlerden birini kullanarak AKS Standard'da KEDA'yı etkinleştirin:

Yönetilen KEDA eklentisi, AKS ile tümleştirilmiş tam olarak desteklenen bir KEDA yüklemesi sağlar.

Yetenekler ve özellikler

KEDA aşağıdaki özellikleri ve özellikleri sağlar:

  • Talep düştüğünde iş yüklerini sıfıra ölçeklendirin.
  • Azure KEDA ölçeklendiricilerini kullanarak uygulama iş yüklerini talebi karşılayacak şekilde ölçeklendirin.
  • Uygulamaları, Dağıtımlar gibi ScaledObjects, StatefulSets veya /scale alt kaynağını tanımlayan herhangi bir özel kaynak kullanarak otomatik olarak ölçeklendirin.
  • ScaledJobs kullanarak iş benzeri iş yüklerini otomatik olarak ölçeklendirin.
  • Otomatik ölçeklendirme kimlik doğrulamasını iş yüklerinden ayrıştırarak üretim düzeyinde güvenlikten yararlanın.
  • Özel otomatik ölçeklendirme mantığı için kendi dış ölçeklendiricinizi getirin.
  • Kimlik doğrulaması için Microsoft Entra İş Yükü Kimliği ile tümleştirin.

AKS Otomatik'te, küme KEDA ile önceden yapılandırıldığından bu olay temelli otomatik ölçeklendirme özelliklerini varsayılan olarak alırsınız.

Uyarı

AKS Standard'da iş yükü kimliğini kullanmayı planlıyorsanız, KEDA eklentisini etkinleştirmeden önce iş yükü kimliğini etkinleştirin .

Üretim kılavuzu

Küme modunuzu seçmek için bu kılavuzu kullanın:

  • KEDA ile üretime hazır bir varsayılan deneyimin önceden yapılandırılmasını istiyorsanız AKS Otomatik'i seçin.
  • Daha derin küme düzeyinde özelleştirmeye ve açık eklenti yönetimine ihtiyacınız olduğunda AKS Standard'ı seçin.
  • Olay temelli otomatik ölçeklendirme iş yükleri için KEDA'yi her iki modda da kullanın.

Eklenti sınırlamaları

KEDA AKS eklentisi aşağıdaki sınırlamalara sahiptir:

  • KEDA'nın HTTP iş yüklerini ölçeklendirmeye yönelik HTTP eklentisi (önizleme), uzantıyla birlikte yüklenmez ancak ayrı olarak dağıtılabilir.
  • KEDA'nın, Azure Cosmos DB değişiklik akışına göre ölçeklendirmek için olan, Azure Cosmos DB'ye yönelik harici ölçeklendiricisi, uzantıyla birlikte yüklenmez ancak ayrı olarak dağıtılabilir.
  • Kubernetes kümesinde yalnızca bir dış ölçüm sunucusuna izin verilir. Bu yüzden KEDA eklentisi, küme içindeki tek dış ölçüm sunucusu olmalıdır.
    • Birden çok KEDA yüklemesi desteklenmez
  • Aynı iş yükünü ölçeklendirmek için KEDA'nın ScaledObject ile Yatay Pod Otomatik Ölçeklendiricisi (HPA) birleştirilmesi önerilmez. KEDA arka planda Yatay Pod Otomatik Ölçeklendiricisi (HPA) kullandığı için garip ölçeklendirme davranışlarına neden olur ve bu nedenle birbirleriyle rekabet ederler.
    • İlk olarak bir HPA oluşturulursa, ardından bir KEDA ScaledObject oluşturulmaya çalışılır ve bu durumda KEDA ScaledObject oluşturulamaz.
    • Önce bir KEDA ScaledObject oluşturulursa ve ardından bir HPA oluşturulursa, HPA oluşturma engellenmez.

Genel KEDA soruları için SSS'ye genel bakış bölümünü ziyaret etmenizi öneririz.

Uyarı

Microsoft Entra İş Yükü Kimliği kullanıyorsanız ve İş Yükü Kimliği önce KEDA'yı etkinleştirirseniz, uygun ortam değişkenlerinin eklenebilmesi için KEDA işleç podlarını yeniden başlatmanız gerekir:

  1. komutunu çalıştırarak kubectl rollout restart deployment keda-operator -n kube-systempodları yeniden başlatın.

  2. kubectl get pod -n kube-system kullanarak KEDA işleç podlarını alın ve keda-operator ile başlayan podları bulun.

  3. komutunu çalıştırarak kubectl describe pod <keda-operator-pod> -n kube-systemortam değişkenlerinin başarıyla eklenmesini doğrulayın. Environment altında, AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE ve AZURE_AUTHORITY_HOST değerlerini görmeniz gerekir.

Desteklenen Kubernetes ve KEDA sürümleri

Kümenizin Kubernetes sürümü, AKS kümenizde hangi KEDA sürümünün yüklü olduğunu belirler. Hangi KEDA sürümünün her AKS sürümüne eşleneceğini görmek için Kubernetes bileşen sürümü tablosunun AKS tarafından yönetilen eklentiler sütununa bakın.

GA Kubernetes sürümleri için AKS, tablodaki ilgili KEDA ikincil sürümü için tam destek sunar. Kubernetes önizleme sürümleri ve en son KEDA düzeltme eki, müşteri desteği tarafından kısmen mümkün olan en iyi çabayla kapsam dahiline alınmıştır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın: