Förenklad automatisk skalning av program med Kubernetes-tillägg för händelsedriven autoskalning (KEDA)

Kubernetes Händelsedriven autoskalning (KEDA) är en enkel och lätt komponent som strävar efter att göra automatisk skalning av program enkelt och är ett CNCF Graduate-projekt.

Den tillämpar händelsedriven autoskalning för att skala ditt program för att möta efterfrågan på ett hållbart och kostnadseffektivt sätt med skalning till noll.

KEDA-tillägget gör det ännu enklare genom att distribuera en hanterad KEDA-installation, vilket ger dig en omfattande katalog med Azure KEDA-skalare som du kan skala dina program med i ditt AkS-kluster (Azure Kubernetes Services).

Arkitektur

KEDA innehåller två huvudkomponenter:

  • MED KEDA-operatorn kan slutanvändarna skala in/ut arbetsbelastningar från 0 till N-instanser med stöd för Kubernetes-distributioner, Jobb, StatefulSets eller alla anpassade resurser som definierar /scale underresurser.
  • Måttservern exponerar externa mått för HPA (Horizontal Pod Autoscaler) i Kubernetes för automatisk skalning, till exempel meddelanden i ett Kafka-ämne eller antal händelser i en Azure-händelsehubb. På grund av uppströmsbegränsningar måste KEDA vara det enda installerade måttkortet.

Diagram that shows the architecture of K E D A and how it extends Kubernetes instead of re-inventing the wheel.

Läs mer om hur KEDA fungerar i den officiella KEDA-dokumentationen.

Installation

KEDA kan läggas till i ditt AkS-kluster (Azure Kubernetes Service) genom att aktivera KEDA-tillägget med hjälp av en ARM-mall eller Azure CLI.

KEDA-tillägget ger en fullständigt stödd installation av KEDA som är integrerad med AKS.

Funktioner och fördelar

KEDA innehåller följande funktioner:

  • Skapa hållbara och kostnadseffektiva program med skalning till noll
  • Skala programarbetsbelastningar för att möta efterfrågan med hjälp av en omfattande katalog med Azure KEDA-skalare
  • Autoskalning av program med ScaledObjects, till exempel Distributioner, StatefulSets eller en anpassad resurs som definierar /scale underresurs
  • Autoskalning av jobbliknande arbetsbelastningar med ScaledJobs
  • Använda säkerhet i produktionsklass genom att koppla bort autentisering med automatisk skalning från arbetsbelastningar
  • Ta med din egen externa skalning för att använda skräddarsydda autoskalningsbeslut
  • Integrera med Microsoft Entra-arbetsbelastnings-ID för autentisering

Kommentar

Om du planerar att använda arbetsbelastningsidentitet aktiverar du tillägget för arbetsbelastningsidentitet innan du aktiverar KEDA-tillägget.

Tilläggsbegränsningar

KEDA AKS-tillägget har följande begränsningar:

  • KEDA:s HTTP-tillägg (förhandsversion) för att skala HTTP-arbetsbelastningar installeras inte med tillägget, men kan distribueras separat.
  • KEDA:s externa skalare för Azure Cosmos DB för skalning baserat på Azure Cosmos DB-ändringsflödet installeras inte med tillägget, men kan distribueras separat.
  • Endast en måttserver tillåts i Kubernetes-klustret. På grund av detta ska KEDA-tillägget vara den enda måttservern i klustret.
    • Flera KEDA-installationer stöds inte

För allmänna KEDA-frågor rekommenderar vi att du besöker översikten över vanliga frågor och svar.

Kommentar

Om du använder Microsoft Entra-arbetsbelastnings-ID och aktiverar KEDA före arbetsbelastnings-ID måste du starta om KEDA-operatorpoddarna så att rätt miljövariabler kan matas in:

  1. Starta om poddarna genom att köra kubectl rollout restart deployment keda-operator -n kube-system.

  2. Hämta KEDA-operatorpoddar med hjälp av kubectl get pod -n kube-system och hitta poddar som börjar med keda-operator.

  3. Kontrollera att miljövariablerna har injicerats genom att köra kubectl describe pod <keda-operator-pod> -n kube-system. Under Environmentbör du se värden för AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEoch AZURE_AUTHORITY_HOST.

Kubernetes- och KEDA-versioner som stöds

Kubernetes-klustret avgör vilken KEDA-version som ska installeras i AKS-klustret. Information om vilken KEDA-version som mappas till varje AKS-version finns i kolumnen AKS-hanterade tillägg i kubernetes-komponentversionstabellen.

För GA Kubernetes-versioner erbjuder AKS fullt stöd för motsvarande KEDA-delversion i tabellen. Förhandsversioner av Kubernetes och den senaste KEDA-korrigeringen omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:

Nästa steg