Installieren des ereignisgesteuerten Kubernetes-Add-Ons für automatische Skalierung (KEDA) mithilfe der Azure CLI

In diesem Artikel wird gezeigt, wie Sie das ereignisgesteuerte Kubernetes-Add-On für automatische Skalierung (KEDA) mithilfe der Azure CLI für Azure Kubernetes Service (AKS) installieren.

Wichtig

Die Kubernetes-Version Ihres Clusters bestimmt, welche KEDA-Version in Ihrem AKS-Cluster installiert wird. Informationen dazu, welche KEDA-Version welcher AKS-Version zugeordnet ist, finden Sie in der Spalte Verwaltete AKS-Add-Ons der Tabelle mit den Kubernetes-Komponentenversionen.

Für Kubernetes-Versionen mit allgemeiner Verfügbarkeit (GA) bietet AKS volle Unterstützung für die entsprechende KEDA-Nebenversion in der Tabelle. Kubernetes-Vorschauversionen und der neueste KEDA-Patch werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:

Voraussetzungen

Hinweis

Wenn Sie Microsoft Entra Workload ID verwenden und KEDA vor Workload ID aktivieren, müssen Sie die KEDA-Operatorpods neu starten, damit die richtigen Umgebungsvariablen eingefügt werden können:

  1. Sie starten die Pods neu, indem Sie kubectl rollout restart deployment keda-operator -n kube-system ausführen.

  2. Rufen Sie die KEDA-Operatorpods mit kubectl get pod -n kube-system ab, und suchen Sie nach Pods, die mit keda-operator beginnen.

  3. Überprüfen Sie die erfolgreiche Einfügung der Umgebungsvariablen durch Ausführen von kubectl describe pod <keda-operator-pod> -n kube-system. Unter Environment sollten Werte für AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE und AZURE_AUTHORITY_HOST angezeigt werden.

Bereitstellen des KEDA-Add-Ons mit Azure CLI

Verwenden Sie --enable-keda zum Installieren des KEDA-Add-Ons beim Erstellen oder Aktualisieren eines Clusters.

Aktivieren des KEDA-Add-Ons in Ihrem AKS-Cluster

Hinweis

Während KEDA verschiedene Anpassungsoptionen bietet, bietet das KEDA-Add-On derzeit grundlegende allgemeine Konfigurationen.

Wenn Sie benutzerdefinierte Konfigurationen benötigen, können Sie die KEDA-YAML-Dateien manuell bearbeiten, um die Installation anzupassen. Azure bietet keine Unterstützung für benutzerdefinierte Konfigurationen.

Erstellen eines neuen AKS-Clusters mit aktiviertem KEDA-Add-On

  1. Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.

    az group create --name myResourceGroup --location eastus
    
  2. Erstellen Sie mithilfe des Befehls az aks create einen neuen AKS-Cluster, und aktivieren Sie das KEDA-Add-On mithilfe des Flags --enable-keda.

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-keda 
    

Aktivieren des KEDA-Add-Ons in einem vorhandenen AKS-Cluster

  • Aktualisieren Sie mithilfe des Befehls az aks update einen vorhandenen Cluster, und aktivieren Sie das KEDA-Add-On mithilfe des Flags --enable-keda.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-keda 
    

Abrufen der Anmeldeinformationen für Ihren Cluster

  • Laden Sie die Anmeldeinformationen für den AKS-Cluster mit dem Befehl az aks get-credentials.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

Überprüfen, ob das KEDA-Add-On in Ihrem Cluster installiert ist

  • Überprüfen Sie mithilfe des Befehls az aks show, ob das KEDA-Add-On in Ihrem Cluster installiert ist, und legen Sie den Parameter --query auf workloadAutoScalerProfile.keda.enabled fest.

    az aks show -g myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled" 
    

    Die folgende Beispielausgabe zeigt, dass das KEDA-Add-On im Cluster installiert ist:

    true
    

Überprüfen, ob KEDA im Cluster ausgeführt wird

  • Überprüfen Sie mithilfe des Befehls kubectl get pods, ob das KEDA-Add-On in Ihrem Cluster ausgeführt wird.

    kubectl get pods -n kube-system 
    

    Die folgende Beispielausgabe zeigt, wie der KEDA-Operator, der Zulassungs-Hook und der Metrik-API-Server auf dem Cluster installiert sind:

    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
    

Überprüfen der KEDA-Version in Ihrem Cluster

Um die Version Ihres KEDA zu überprüfen, verwenden Sie kubectl get crd/scaledobjects.keda.sh -o yaml . Beispiel:

kubectl get crd/scaledobjects.keda.sh -o yaml 

Die folgende Beispielausgabe zeigt die Konfiguration von KEDA in der app.kubernetes.io/version-Bezeichnung.:

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

Deaktivieren des KEDA-Add-Ons in Ihrem AKS-Cluster

  • Deaktivieren Sie das KEDA-Add-On in Ihrem Cluster mithilfe des Befehls az aks update mit dem Flag --disable-keda.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --disable-keda 
    

Nächste Schritte

In diesem Artikel wurde gezeigt, wie Sie das KEDA-Add-On in einem AKS-Cluster mithilfe der Azure CLI installieren.

Wenn das KEDA-Add-On auf Ihrem Cluster installiert ist, können Sie eine Beispielanwendung bereitstellen, um mit der Skalierung von Apps zu beginnen.

Informationen zur KEDA-Problembehandlung finden Sie unter Problembehandlung für das Add-On für die ereignisgesteuerte automatische Skalierung in Kubernetes.

Weitere Informationen finden Sie in der KEDA-Upstreamdokumentation.