Teilen über


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:

Hinweis

In der KEDA Version 2.15 wird ein Breaking Change eingeführt, die Unterstützung von Pod-Identitäten entfernt. Es wird empfohlen, die Workloadidentität für Ihre Authentifizierung zu übertragen, wenn Sie die Pod-Identität verwenden. Während das von KEDA verwaltete Add-On derzeit nicht KEDA Version 2.15 ausführt, wird es ab der AKS-Vorschauversion 1.31 ausgeführt.

Weitere Informationen zum sicheren Skalieren Ihrer Anwendungen mit Workloadidentität finden Sie in unserem Tutorial. Lesen Sie die offizielle Dokumentation von KEDA, um den Breaking Change bzw. die Einstellungsrichtlinie von KEDA anzuzeigen.

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 \
        --generate-ssh-keys
    

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 --resource-group 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.