Installer le module complémentaire KEDA (Kubernetes Event-driven Autoscaling) avec Azure CLI
Cet article explique comment installer le module complémentaire KEDA (Kubernetes Event-driven Autoscaling) sur Azure Kubernetes Service (AKS) avec Azure CLI.
Important
La version Kubernetes de votre cluster détermine la version KEDA installée sur votre cluster AKS. Pour voir la version KEDA mappée à chaque version AKS, consultez la colonne Modules complémentaires gérés par AKS du tableau des versions de composant Kubernetes.
Pour les versions Kubernetes GA, AKS offre une prise en charge complète de la version mineure KEDA correspondante dans le tableau. Les préversions de Kubernetes et le dernier patch KEDA sont partiellement couverts par le service client, dans la mesure du possible. Telles quelles, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Remarque
KEDA version 2.15 introduit un changement cassant qui supprime la prise en charge de l’identité de pod. Nous vous recommandons de passer à l’identité de la charge de travail à des fins d’authentification si vous utilisez l’identité de pod. Bien que le module complémentaire managé KEDA n’exécute actuellement pas KEDA version 2.15, il commencera à l’exécuter dans la préversion AKS version 1.31.
Pour plus d’informations sur la mise à l’échelle sécurisée de vos applications avec l’identité de la charge de travail, consultez notre tutoriel. Pour consulter la stratégie de changement cassant/dépréciation de KEDA, lisez la documentation officielle correspondante.
Avant de commencer
- Vous avez besoin d’un abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte gratuit.
- Vous devez avoir installé Azure CLI.
- Assurez-vous que les règles de pare-feu sont configurées pour autoriser l’accès au serveur d’API Kubernetes. Pour plus d'informations, voir Règles de réseau sortant et de FQDN pour les clusters Azure Kubernetes Service (AKS).
Remarque
Si vous utilisez l’ID de charge de travail Microsoft Entra et que vous activez KEDA avant l’ID de charge de travail, vous devez redémarrer les pods d’opérateur KEDA afin que les variables d’environnement appropriées puissent être injectées :
Redémarrez les pods en exécutant
kubectl rollout restart deployment keda-operator -n kube-system
.Obtenez des pods d’opérateur KEDA en utilisant
kubectl get pod -n kube-system
et en recherchant les pods commençant parkeda-operator
.Vérifiez que l’injection des variables d’environnement a réussi en exécutant
kubectl describe pod <keda-operator-pod> -n kube-system
. SousEnvironment
, vous devez voir les valeurs deAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
etAZURE_AUTHORITY_HOST
.
Installer le module complémentaire KEDA avec Azure CLI
Pour installer le module complémentaire KEDA, utilisez --enable-keda
au moment de la création ou de la mise à jour d’un cluster.
Activer le module complémentaire KEDA sur votre cluster AKS
Remarque
Bien que KEDA propose différentes options de personnalisation, le module complémentaire KEDA fournit actuellement une configuration courante de base.
S’il vous faut une configuration personnalisée, vous pouvez modifier manuellement les fichiers YAML KEDA pour personnaliser l’installation. Azure ne prend pas en charge les configurations personnalisées.
Créez un cluster AKS avec le module complémentaire KEDA activé
Créez un groupe de ressources avec la commande
az group create
.az group create --name myResourceGroup --location eastus
Créez un cluster AKS avec la commande
az aks create
et activez le module complémentaire KEDA avec l’indicateur--enable-keda
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Activer le module complémentaire KEDA sur un cluster AKS existant
Mettez à jour un cluster existant avec la commande
az aks update
et activez le module complémentaire KEDA avec l’indicateur--enable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Obtenir les informations d’identification de votre cluster
Obtenez les informations d’identification de votre cluster AKS à l’aide de la commande
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Vérifier que le module complémentaire KEDA est installé sur votre cluster
Vérifiez que le module complémentaire KEDA est installé sur votre cluster avec la commande
az aks show
et définissez le paramètre--query
surworkloadAutoScalerProfile.keda.enabled
.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
L’exemple de sortie suivant montre que le module complémentaire KEDA est installé sur le cluster :
true
Vérifier que KEDA s’exécute sur votre cluster
Vérifiez que le module complémentaire KEDA s’exécute sur votre cluster avec la commande
kubectl get pods
.kubectl get pods -n kube-system
L’exemple de sortie suivant montre que l’opérateur KEDA, le crochet des admissions et le serveur d’API de métriques sont installés sur le cluster :
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
Vérifier la version KEDA sur votre cluster
Pour vérifier la version de votre KEDA, utilisez kubectl get crd/scaledobjects.keda.sh -o yaml
. Par exemple :
kubectl get crd/scaledobjects.keda.sh -o yaml
L’exemple de sortie suivant montre la configuration de KEDA dans l’étiquette app.kubernetes.io/version
:
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
Désactiver le module complémentaire KEDA sur votre cluster AKS
Désactivez le module complémentaire KEDA sur votre cluster en utilisant la commande
az aks update
avec l’indicateur--disable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Étapes suivantes
Cet article vous a montré comment installer le module complémentaire KEDA sur un cluster AKS avec Azure CLI.
Avec le module complémentaire KEDA installé sur votre cluster, vous pouvez déployer un exemple d’application pour commencer la mise à l’échelle des applications.
Pour plus d’informations sur la résolution des problèmes KEDA, consultez Résoudre les problèmes du module complémentaire Kubernetes Event-driven Autoscaling (KEDA).
Pour plus d’informations, consultez la documentation KEDA en amont.
Azure Kubernetes Service