Zjednodušené automatické škálování aplikací pomocí doplňku KEDA (Event-driven Autoscaling) Kubernetes

Automatické škálování řízené událostmi Kubernetes (KEDA) je jednoúčelová a jednoduchá komponenta, která se snaží usnadnit automatické škálování aplikací a je projekt CNCF Graduate.

Použije automatické škálování řízené událostmi pro škálování aplikace tak, aby splňovalo poptávku udržitelným a nákladově efektivním způsobem pomocí škálování na nulu.

Doplněk KEDA usnadňuje nasazení spravované instalace KEDA a poskytuje bohatý katalog škálovacích nástrojů Azure KEDA, které můžete škálovat pomocí clusteru Azure Kubernetes Services (AKS).

Poznámka:

KEDA verze 2.15 zavádí zásadní změnu, která odstraňuje podporu identit podů. Pokud používáte identitu podu, doporučujeme přejít na identitu úloh pro vaše ověřování. I když spravovaný doplněk KEDA aktuálně nespouští KEDA verze 2.15, začne ho spouštět ve verzi AKS Preview 1.32.

Další informace o tom, jak bezpečně škálovat aplikace pomocí identity úloh, najdete v našem kurzu. Pokud si chcete prohlédnout zásady zásadních změn nebo vyřazení ke službě KEDA, přečtěte si oficiální dokumentaci.

Architektura

KEDA poskytuje dvě hlavní komponenty:

  • Operátor KEDA umožňuje koncovým uživatelům škálovat úlohy od 0 do N instancí s podporou nasazení, úloh, stavových sad Kubernetes nebo libovolného vlastního prostředku, který definuje /scale podsourc.
  • Server metrik zveřejňuje externí metriky horizontálnímu automatickému škálování podů (HPA) v Kubernetes pro účely automatického škálování, jako jsou zprávy v tématu Kafka nebo počet událostí v centru událostí Azure. Z důvodu upstreamových omezení musí být KEDA jediným nainstalovaným externím adaptérem metrik.

Diagram znázorňující architekturu K E D A a způsob rozšíření Kubernetes místo opětovného vynalézání kola

Další informace o tom, jak KEDA funguje, najdete v oficiální dokumentaci KEDA.

Instalace

KeDA je možné přidat do clusteru Azure Kubernetes Service (AKS) povolením doplňku KEDA pomocí šablony ARM nebo Azure CLI.

Doplněk KEDA poskytuje plně podporovanou instalaci KEDA, která je integrovaná s AKS.

Možnosti a funkce

KEDA poskytuje následující funkce a funkce:

  • Vytváření udržitelných a nákladově efektivních aplikací s využitím škálování na nulu
  • Škálování aplikačních úloh tak, aby splňovaly poptávku pomocí bohatého katalogu škálovacích nástrojů Azure KEDA
  • Automatické škálování aplikací pomocí ScaledObjectsnasazení, stavových sad nebo libovolného vlastního prostředku, který definuje /scale podsourc
  • Automatické škálování úloh podobných úlohám pomocí ScaledJobs
  • Použití zabezpečení na úrovni produkčního prostředí oddělením ověřování automatického škálování od úloh
  • Používání vlastního externího škálovače pro použití rozhodnutí o automatickém škálování na míru
  • Integrace s ID úloh Microsoft Entra pro ověřování

Poznámka:

Pokud plánujete používat identitu úloh, před povolením doplňku KEDA povolte doplněk identity úlohy.

Omezení doplňků

Doplněk KEDA AKS má následující omezení:

  • Doplněk HTTP KEDA (náhled) pro škálování úloh HTTP se neinstaluje s rozšířením, ale lze jej nasadit samostatně.
  • Externí škálovací nástroj KEDA pro službu Azure Cosmos DB pro škálování na základě kanálu změn Azure Cosmos DB se neinstaluje s rozšířením, ale lze jej nasadit samostatně.
  • V clusteru Kubernetes je povolený jenom jeden externí server metriky. Vzhledem k tomu, že doplněk KEDA by měl být jediným externím serverem metrik v clusteru.
    • Není podporováno více instalací KEDA.

Pro obecné dotazy keda doporučujeme navštívit přehled nejčastějších dotazů.

Poznámka:

Pokud používáte ID úloh Microsoft Entra a před ID úloh povolíte KEDA, musíte restartovat pody operátoru KEDA, aby bylo možné vloženého správné proměnné prostředí:

  1. Restartujte pody spuštěním kubectl rollout restart deployment keda-operator -n kube-systempříkazu .

  2. Získejte pody operátorů KEDA pomocí kubectl get pod -n kube-system a hledání podů, které začínají keda-operator.

  3. Spuštěním kubectl describe pod <keda-operator-pod> -n kube-systempříkazu ověřte úspěšné injektáže proměnných prostředí . V části Environmentby se měly zobrazit hodnoty pro AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEa AZURE_AUTHORITY_HOST.

Podporované verze Kubernetes a KEDA

Verze Kubernetes vašeho clusteru určuje, jaká verze KEDA se nainstaluje v clusteru AKS. Pokud chcete zjistit, která verze KEDA se mapuje na každou verzi AKS, podívejte se na sloupec spravovaných doplňků AKS v tabulce verzí komponent Kubernetes.

Pro verze GA Kubernetes nabízí AKS plnou podporu odpovídající podverze KEDA v tabulce. Verze Kubernetes Preview a nejnovější opravy KEDA jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Další kroky