Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Le module complémentaire KEDA pour AKS ne prend actuellement pas en charge la modification des demandes ou limites de CPU et d'autres valeurs Helm, pour le Metrics Server ou l'Operator. Gardez cette limitation à l’esprit lors de l’utilisation du module complémentaire. Si vous avez des questions, n’hésitez pas à contacter ici.
La mise à l’échelle automatique basée sur les événements Kubernetes (KEDA) est un composant simple et léger qui simplifie la mise à l’échelle automatique des applications. Il s’agit d’un projet d’études supérieures de Cloud Native Computing Foundation (CNCF). KEDA utilise la mise à l’échelle automatique pilotée par les événements pour mettre à l’échelle votre application afin de répondre à la demande de manière durable et rentable avec une mise à l’échelle à zéro.
Pour la plupart des charges de travail de production, AKS Automatic est l’expérience AKS par défaut recommandée. AKS Automatic est prêt pour la production par défaut et inclut KEDA préconfiguré sur le cluster. Si vous utilisez AKS Standard, vous pouvez activer KEDA à l’aide du module complémentaire KEDA managé.
Pour en savoir plus sur AKS Automatic, consultez Qu’est-ce que Azure Kubernetes Service (AKS) Automatique ?
Remarque
La version 2.15+ de KEDA introduit un changement cassant qui supprime la prise en charge de l’identité de pod. Nous vous recommandons de passer à Workload Identity pour l’authentification si vous utilisez Pod Identity. Bien que le module complémentaire managé KEDA n’exécute actuellement pas KEDA version 2.15+, le module complémentaire managé commence à exécuter KEDA 2.15+ dans AKS preview version 1.32.
Pour plus d’informations sur la mise à l’échelle sécurisée de vos applications avec l’identité de charge de travail, lisez notre tutoriel. Pour voir la stratégie de changement/dépréciation de KEDA, lisez leur documentation officielle.
KEDA dans AKS Automatic et AKS Standard
KEDA est disponible dans les deux modes de cluster AKS, mais le chemin d’installation est différent :
- AKS Automatic : KEDA est préconfiguré et prêt à être utilisé.
- AKS Standard : activez KEDA en activant le module complémentaire managé AKS.
Pour la plupart des scénarios de production, commencez par AKS Automatic pour utiliser les valeurs par défaut prêtes pour la production et réduire la surcharge de gestion des clusters.
Architecture
KEDA fournit deux composants principaux :
-
L’opérateur KEDA permet aux utilisateurs finaux d'ajuster l'échelle des charges de travail de 0 à N instances avec prise en charge des Déploiements Kubernetes, des Travaux,
StatefulSets, et de toute ressource personnalisée qui définit une/scalesous-ressource. - Le serveur de métriques expose des métriques externes à HPA (Horizontal Pod Autoscaler) dans Kubernetes à des fins de mise à l’échelle automatique, telles que des messages dans une rubrique Kafka ou un nombre d’événements dans un Event Hub Azure. En raison des limitations en amont, KEDA doit être le seul adaptateur de métriques externe installé.
En savoir plus sur le fonctionnement de KEDA dans la documentation officielle de KEDA.
Installation et activation
AKS Automatic
KEDA est préconfiguré dans AKS Automatic. Aucune étape d’installation de module complémentaire KEDA distincte n’est requise.
AKS Standard
Activez KEDA sur AKS Standard à l’aide de l’une des méthodes suivantes :
- Activer le module complémentaire KEDA avec Azure CLI
- Activer le module complémentaire KEDA avec un modèle ARM
Le module complémentaire KEDA managé fournit une installation KEDA entièrement prise en charge intégrée à AKS.
Capacités et fonctionnalités
KEDA fournit les fonctionnalités suivantes :
- Ramenez les charges de travail à zéro lorsque la demande diminue.
- Mettez à l’échelle les charges de travail de vos applications pour répondre à la demande à l’aide des scalers KEDA d’Azure.
- Mettez les applications à l'échelle automatiquement à l'aide de
ScaledObjects, tels que Deployments,StatefulSetsou toute ressource personnalisée définissant la sous-ressource/scale. - Mise à l’échelle automatique des charges de travail de type tâche à l’aide de
ScaledJobs. - Utilisez une sécurité de niveau production en dissociant l'authentification de la mise à l'échelle automatique des charges de travail.
- Apportez votre propre scaler externe pour une logique de mise à l’échelle automatique personnalisée.
- S’intégrer à ID de charge de travail Microsoft Entra pour l’authentification.
Dans AKS Automatic, vous obtenez ces fonctionnalités de mise à l’échelle automatique pilotées par les événements par défaut, car le cluster est préconfiguré avec KEDA.
Remarque
Si vous envisagez d’utiliser l’identité de charge de travail sur AKS Standard, activez l’identité de charge de travail avant d’activer le module complémentaire KEDA.
Conseils en matière de production
Utilisez ces conseils pour choisir votre mode de cluster :
- Choisissez AKS Automatic lorsque vous souhaitez une expérience par défaut prête pour la production avec KEDA préconfigurée.
- Choisissez AKS Standard lorsque vous avez besoin d’une personnalisation au niveau du cluster plus approfondie et d’une gestion explicite des modules complémentaires.
- Utilisez KEDA dans l'un ou l'autre mode pour les charges de travail à mise à l'échelle automatique pilotée par événements.
Limitations relatives aux modules complémentaires
Le module complémentaire KEDA AKS présente les limitations suivantes :
- Le module complémentaire HTTP (préversion) de KEDA pour mettre à l’échelle les charges de travail HTTP n’est pas installé avec l’extension, mais peut être déployé séparément.
- Le scaler externe pour Azure Cosmos DB de KEDA pour mettre à l’échelle en fonction du flux de modification Azure Cosmos DB n’est pas installé avec l’extension, mais peut être déployé séparément.
- Un seul serveur de métriques externe est autorisé dans le cluster Kubernetes. Pour cela, le module complémentaire KEDA doit être le seul serveur de métriques externe à l’intérieur du cluster.
- Plusieurs installations KEDA ne sont pas prises en charge
- Il n’est pas recommandé de combiner KEDA
ScaledObjectavec un HPA (Horizontal Pod Autoscaler) pour mettre à l’échelle la même charge de travail. Ils sont en concurrence les uns avec les autres, car KEDA utilise l’autoscaler de pod horizontal (HPA) en arrière-plan et entraîne un comportement de mise à l’échelle impair.- Si un HPA est créé en premier, un KEDA
ScaledObjectest créé et le KEDAScaledObjectne sera pas créé. - Si un KEDA
ScaledObjectest créé en premier, puis qu’un HPA est créé, la création HPA n’est pas bloquée.
- Si un HPA est créé en premier, un KEDA
Pour des questions générales sur KEDA, nous vous recommandons de consulter la vue d’ensemble de la FAQ.
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.Récupérez les pods de l’opérateur KEDA à l’aide de
kubectl get pod -n kube-systemet repérez les pods dont le nom commence 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_FILEetAZURE_AUTHORITY_HOST.
Versions Kubernetes et KEDA prises en charge
Votre version kubernetes de 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 :
Contenu connexe
- Créer un cluster automatique AKS
- Activer le module complémentaire KEDA avec un modèle ARM (AKS Standard)
- Activer le module complémentaire KEDA avec le Azure CLI (AKS Standard)
- Résoudre les problèmes du module complémentaire KEDA
- Mettre à l’échelle automatiquement un Worker .NET Core traitant les messages de file d’attente Azure Service Bus
- Consultez la documentation source de KEDA