Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Cet article explique comment déployer le module complémentaire KEDA (Kubernetes Event-driven Autoscaling) sur AKS (Azure Kubernetes Service) à l’aide d’un modèle ARM.
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 :
Notes
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.
az group create
.Notes
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 par keda-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
.
Sous Environment
, vous devez voir les valeurs de AZURE_TENANT_ID
, AZURE_FEDERATED_TOKEN_FILE
et AZURE_AUTHORITY_HOST
.
Accédez à Azure Cloud Shell.
Créez une paire de clés SSH à l’aide de la commande az sshkey create
.
az sshkey create --name <sshkey-name> --resource-group <resource-group-name>
Déployez le modèle ARM pour un cluster AKS.
Sélectionnez Modifier un modèle.
Activez le module complémentaire KEDA en spécifiant le champ workloadAutoScalerProfile
dans le modèle ARM, comme illustré dans l’exemple suivant :
"workloadAutoScalerProfile": {
"keda": {
"enabled": true
}
}
Cliquez sur Enregistrer.
Mettez à jour les valeurs requises pour le modèle ARM :
Sélectionnez Vérifier + créer>Créer.
Pour vous connecter au cluster Kubernetes à partir de votre ordinateur local, utilisez kubectl, le client de ligne de commande Kubernetes.
Si vous utilisez Azure Cloud Shell, kubectl
est déjà installé. Vous pouvez également l’installer localement avec la commande az aks install-cli
.
kubectl
pour vous connecter à votre cluster Kubernetes via la commande az aks get-credentials. L’exemple suivant obtient les informations d’identification du cluster AKS nommé MyAKSCluster dans le groupe de ressources MyResourceGroup :az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster
L’extrait de code suivant est un exemple de déploiement qui crée un cluster avec KEDA activé avec un pool de nœuds unique composé de trois nœuds DS2_v5
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2023-03-01",
"dependsOn": [],
"type": "Microsoft.ContainerService/managedClusters",
"location": "westcentralus",
"name": "myAKSCluster",
"properties": {
"kubernetesVersion": "1.27",
"enableRBAC": true,
"dnsPrefix": "myAKSCluster",
"agentPoolProfiles": [
{
"name": "agentpool",
"osDiskSizeGB": 200,
"count": 3,
"enableAutoScaling": false,
"vmSize": "Standard_D2S_v5",
"osType": "Linux",
"type": "VirtualMachineScaleSets",
"mode": "System",
"maxPods": 110,
"availabilityZones": [],
"nodeTaints": [],
"enableNodePublicIP": false
}
],
"networkProfile": {
"loadBalancerSku": "standard",
"networkPlugin": "kubenet"
},
"workloadAutoScalerProfile": {
"keda": {
"enabled": true
}
}
},
"identity": {
"type": "SystemAssigned"
}
}
]
}
Vous pouvez mettre à l’échelle automatiquement vos applications avec KEDA à l’aide de définitions de ressources personnalisées (CRD). Pour plus d’informations, consultez la documentation KEDA.
Utilisez la commande az group delete
pour supprimer le groupe de ressources et toutes les ressources associées.
az group delete --name <resource-group-name>
Cet article vous a montré comment installer le module complémentaire KEDA sur un cluster AKS, puis comment vérifier qu’il est installé et en cours d’exécution. 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.
Commentaires sur Azure Kubernetes Service
Azure Kubernetes Service est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenant