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
- Sie benötigen ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
- Die Azure CLI muss installiert sein.
- Stellen Sie sicher, dass die Firewallregeln so konfiguriert sind, dass der Zugriff auf den Kubernetes-API-Server ermöglicht wird. Weitere Informationen finden Sie unter Ausgehende Netzwerk- und FQDN-Regeln für Azure Kubernetes Service-Cluster (AKS).
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:
Sie starten die Pods neu, indem Sie
kubectl rollout restart deployment keda-operator -n kube-system
ausführen.Rufen Sie die KEDA-Operatorpods mit
kubectl get pod -n kube-system
ab, und suchen Sie nach Pods, die mitkeda-operator
beginnen.Überprüfen Sie die erfolgreiche Einfügung der Umgebungsvariablen durch Ausführen von
kubectl describe pod <keda-operator-pod> -n kube-system
. UnterEnvironment
sollten Werte fürAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
undAZURE_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
Erstellen Sie mit dem Befehl
az group create
eine Ressourcengruppe.az group create --name myResourceGroup --location eastus
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
aufworkloadAutoScalerProfile.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.
Azure Kubernetes Service