Dela via


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).

Kommentar

KEDA version 2.15 introducerar en icke-bakåtkompatibel ändring som tar bort poddidentitetsstöd. Vi rekommenderar att du flyttar över till arbetsbelastningsidentiteten för din autentisering om du använder poddidentitet. Även om det keda-hanterade tillägget för närvarande inte kör KEDA version 2.15, börjar det köra det i AKS-förhandsversionen 1.31.

Mer information om hur du på ett säkert sätt skalar dina program med arbetsbelastningsidentitet finns i vår självstudie. Om du vill se KEDA:s policy för icke-bakåtkompatibla ändringar/utfasning läser du deras officiella dokumentation.

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 tidigare begränsningar måste KEDA vara det enda installerade externa måttkortet.

Diagram som visar arkitekturen för K E D A och hur den utökar Kubernetes i stället för att återskapa hjulet.

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 extern måttserver tillåts i Kubernetes-klustret. På grund av detta bör KEDA-tillägget vara den enda externa 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