Kubernetes Olay Odaklı Otomatik Ölçeklendirme (KEDA) eklentisiyle basitleştirilmiş uygulama otomatik ölçeklendirmesi

Kubernetes Event-driven Autoscaling (KEDA), uygulama otomatik ölçeklendirmesini basitleştirmeye çalışan tek amaçlı ve hafif bir bileşendir ve 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.

Not

KEDA sürüm 2.15, pod kimliği desteğini kaldıran bir hataya neden olan 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'i ç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 lütfen öğreticimizi okuyun. KEDA'nın hataya neden olan değişiklik/kullanımdan kaldırma ilkesini görüntülemek için lütfen resmi belgelerini okuyun.

Mimari

KEDA iki ana bileşen sağlar:

  • KEDA operatörü Kubernetes Dağıtımları, İşler, StatefulSets veya 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.

K E D A mimarisini ve tekerleği yeniden icat etme yerine Kubernetes'i nasıl genişleteceğini gösteren diyagram.

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

Yükleme

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 ölçekle sürdürülebilir ve uygun maliyetli uygulamalar oluşturma
  • Azure KEDA ölçeklendiricilerinin zengin kataloğunu kullanarak uygulama iş yüklerini talebi karşılayacak şekilde ölçeklendirme
  • Ile Dağıtımlar, StatefulSets veya alt kaynağı tanımlayan /scale herhangi bir özel kaynak gibi uygulamaları ScaledObjectsotomatik ölçeklendirme
  • ile iş benzeri iş yüklerini otomatik ölçeklendirme ScaledJobs
  • İş yüklerinden otomatik ölçeklendirme kimlik doğrulamasını birbirinden çıkararak üretim sınıfı güvenliği kullanma
  • Ö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

Not

İş 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

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

Not

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. kullanarak kubectl get pod -n kube-system KEDA işleç podlarını alın ve ile keda-operatorbaş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. altında Environment, AZURE_FEDERATED_TOKEN_FILEve AZURE_AUTHORITY_HOSTdeğerlerini AZURE_TENANT_IDgörmeniz gerekir.

Desteklenen Kubernetes ve KEDA sürümleri

Kümenizin Kubernetes sürümü, AKS kümenize hangi KEDA sürümünün yükleneceğini 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 kapsamındadı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