Partage via


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

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 :

  1. Redémarrez les pods en exécutant kubectl rollout restart deployment keda-operator -n kube-system.

  2. Obtenez des pods d’opérateur KEDA en utilisant kubectl get pod -n kube-system et en recherchant les pods commençant par keda-operator.

  3. Vérifiez que l’injection des variables d’environnement a réussi en exécutant kubectl describe pod <keda-operator-pod> -n kube-system. Sous Environment, vous devez voir les valeurs de AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE et AZURE_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é

  1. Créez un groupe de ressources avec la commande az group create.

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