Installera tillägget Kubernetes Händelsedriven autoskalning (KEDA) med hjälp av Azure CLI
Den här artikeln visar hur du installerar tillägget Kubernetes Event-driven Autoscaling (KEDA) i Azure Kubernetes Service (AKS) med hjälp av Azure CLI.
Viktigt!
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:
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.
Innan du börjar
- Du behöver en Azure-prenumerationen. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Du behöver Azure CLI installerat.
- Se till att du har konfigurerat brandväggsregler för att tillåta åtkomst till Kubernetes API-servern. Mer information finns i Utgående nätverk och FQDN-regler för AKS-kluster (Azure Kubernetes Service).
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:
Starta om poddarna genom att köra
kubectl rollout restart deployment keda-operator -n kube-system
.Hämta KEDA-operatorpoddar med hjälp av
kubectl get pod -n kube-system
och hitta poddar som börjar medkeda-operator
.Kontrollera att miljövariablerna har injicerats genom att köra
kubectl describe pod <keda-operator-pod> -n kube-system
. UnderEnvironment
bör du se värden förAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
ochAZURE_AUTHORITY_HOST
.
Installera KEDA-tillägget med Azure CLI
Om du vill installera KEDA-tillägget använder du --enable-keda
när du skapar eller uppdaterar ett kluster.
Aktivera KEDA-tillägget i DITT AKS-kluster
Kommentar
Även om KEDA tillhandahåller olika anpassningsalternativ tillhandahåller KEDA-tillägget för närvarande grundläggande gemensam konfiguration.
Om du behöver anpassade konfigurationer kan du redigera KEDA YAML-filerna manuellt för att anpassa installationen. Azure erbjuder inte stöd för anpassade konfigurationer.
Skapa ett nytt AKS-kluster med KEDA-tillägg aktiverat
Skapa en resursgrupp med kommandot
az group create
.az group create --name myResourceGroup --location eastus
Skapa ett nytt AKS-kluster med kommandot
az aks create
och aktivera KEDA-tillägget med hjälp av--enable-keda
flaggan .az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Aktivera KEDA-tillägget i ett befintligt AKS-kluster
Uppdatera ett befintligt kluster med kommandot
az aks update
och aktivera KEDA-tillägget med hjälp av--enable-keda
flaggan .az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Hämta autentiseringsuppgifterna för klustret
Hämta autentiseringsuppgifterna för AKS-klustret med hjälp av
az aks get-credentials
kommandot .az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Kontrollera att KEDA-tillägget är installerat i klustret
Kontrollera att KEDA-tillägget är installerat i klustret med kommandot
az aks show
och ange parametern--query
tillworkloadAutoScalerProfile.keda.enabled
.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
Följande exempelutdata visar att KEDA-tillägget är installerat i klustret:
true
Kontrollera att KEDA körs i klustret
Kontrollera att KEDA-tillägget körs i klustret med hjälp av
kubectl get pods
kommandot .kubectl get pods -n kube-system
Följande exempelutdata visar att KEDA-operatorn, antagningskroken och MÅTT-API-servern är installerade i klustret:
keda-admission-webhooks-**********-2n9zl 1/1 Running 0 3d18h keda-admission-webhooks-**********-69dkg 1/1 Running 0 3d18h keda-operator-*********-4hb5n 1/1 Running 0 3d18h keda-operator-*********-pckpx 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-gqg4s 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-trfcb 1/1 Running 0 3d18h
Verifiera KEDA-versionen i klustret
Om du vill verifiera versionen av din KEDA använder du kubectl get crd/scaledobjects.keda.sh -o yaml
. Till exempel:
kubectl get crd/scaledobjects.keda.sh -o yaml
Följande exempelutdata visar konfigurationen av KEDA i app.kubernetes.io/version
etiketten:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.0
meta.helm.sh/release-name: aks-managed-keda
meta.helm.sh/release-namespace: kube-system
creationTimestamp: "2023-08-09T15:58:56Z"
generation: 1
labels:
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: keda-operator
app.kubernetes.io/part-of: keda-operator
app.kubernetes.io/version: 2.10.1
helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
name: scaledobjects.keda.sh
resourceVersion: "1421"
uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
conversion:
strategy: None
group: keda.sh
names:
kind: ScaledObject
listKind: ScaledObjectList
plural: scaledobjects
shortNames:
- so
singular: scaledobject
scope: Namespaced
# Redacted due to length
Inaktivera KEDA-tillägget i AKS-klustret
Inaktivera KEDA-tillägget i klustret med kommandot
az aks update
med--disable-keda
flaggan .az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Nästa steg
Den här artikeln visar hur du installerar KEDA-tillägget i ett AKS-kluster med hjälp av Azure CLI.
Med KEDA-tillägget installerat i klustret kan du distribuera ett exempelprogram för att börja skala appar.
Information om KEDA-felsökning finns i Felsöka tillägget Kubernetes Händelsedriven autoskalning (KEDA).
Mer information finns i de överordnade KEDA-dokumenten.
Azure Kubernetes Service