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:

Innan du börjar

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.

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

  1. Skapa en resursgrupp med kommandot az group create .

    az group create --name myResourceGroup --location eastus
    
  2. 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 
    

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 till workloadAutoScalerProfile.keda.enabled.

    az aks show -g 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.