Kubernetes Olay Odaklı Otomatik Ölçeklendirme (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 Event-driven Autoscaling (KEDA), uygulama otomatik ölçeklendirmesini basitleştirmeye çalışan tek amaçlı ve basit bir bileşendir ve bir Bulut Yerel Bilgi İşlem Federasyonu (CNCF) Graduate projesidir.

Uygulamanızı sıfıra ölçeklendirin ve sürdürülebilir ve uygun maliyetli bir şekilde talebi karşılayacak şekilde ölçeklendirmek için olay odaklı otomatik ölçeklendirme uygular.

KEDA eklentisi, yönetilen bir KEDA yüklemesi dağıtarak uygulamalarınızı Azure Kubernetes Services (AKS) kümenizde ölçeklendirebileceğiniz zengin bir Azure KEDA ölçekleyici kataloğu sağlayarak bunu daha da kolaylaştırır.

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 tarafından yönetilen eklenti şu anda KEDA sürüm 2.15+ çalıştırmasa da, BUNU AKS önizleme sürümü 1.32'de ç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.

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.

Kurulum

KEDA, ARM şablonu veya Azure CLI kullanılarak KEDA eklentisi etkinleştirilerek Azure Kubernetes Service (AKS) kümenize eklenebilir.

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:

  • Sıfıra kadar ölçekleme ile sürdürülebilir ve uygun maliyetli uygulamalar oluşturun
  • Azure KEDA ölçeklendiricilerinin zengin kataloğunu kullanarak uygulama iş yüklerini talebi karşılayacak şekilde ölçeklendirme
  • Uygulamaları ScaledObjects ile otomatik ölçeklendirme, Dağıtımlar, StatefulSets veya /scale alt kaynağını tanımlayan herhangi bir özel kaynak gibi
  • İş benzeri iş yüklerini ScaledJobs ile otomatik ölçeklendirin.
  • Otomatik ölçeklendirme kimlik doğrulamasını iş yüklerinden ayırarak üretim seviyesinde güvenlik kullanın.
  • Özel olarak hazırlanmış otomatik ölçeklendirme kararlarını kullanmak için kendi harici ölçeklendiricinizi getirin
  • Kimlik doğrulaması için Microsoft Entra İş Yükü Kimliği ile tümleştirme

Uyarı

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

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:

Sonraki Adımlar