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.
Lorsque vous hébergez des applications du Kit de développement logiciel (SDK) Durable Task dans Azure Container Apps, vous pouvez configurer la mise à l’échelle automatique afin que la plateforme ajuste automatiquement le nombre de réplicas en fonction de votre orchestration, activité ou charge de travail d’entité.
Dans cet article, vous allez apprendre à :
- Définissez le nombre minimal et maximal de réplicas pour votre application conteneur.
- Ajoutez des règles d’échelle qui répondent aux éléments de travail durables du planificateur de tâches.
- Déployez et vérifiez un exemple de mise à l’échelle automatique à l’aide de Azure CLI développeur.
Note
La mise à l’échelle automatique est prise en charge pour les applications créées à l’aide des kits SDK Durable Task et hébergées dans Azure Container Apps. Cette fonctionnalité utilise le azure-durabletask-scheduler scaler KEDA.
Important
Configurer minReplicas pour 0 permet d'activer l'échelle à zéro, ce qui permet d’économiser les coûts en cas d’inactivité, mais introduit une latence de démarrage à froid lorsque de nouvelles tâches arrivent. Définissez minReplicas sur 1 ou plus si votre charge de travail est sensible à la latence.
Configurer l'autoscaleur
Vous pouvez définir la configuration de la mise à l’échelle automatique via le portail Azure, un modèle Bicep et le Azure CLI.
Dans le portail Azure, accédez à votre application conteneur.
Dans le menu de gauche, sélectionnez Application>Échelle.
Définissez les valeurs minimum et maximum des réplicas pour votre révision.
Sélectionnez Ajouter pour créer une règle d’échelle. Définissez le type sur Personnalisé et configurez les champs Planificateur de tâches durables.
Vérifiez que la case s’authentifier avec une identité managée est cochée et choisissez l’identité liée à votre planificateur et à votre ressource de hub de tâches.
Cliquez sur Enregistrer.
| Champ | Description | Exemple |
|---|---|---|
| Nb min. de réplicas | Nombre minimal de réplicas autorisés pour la révision de conteneur à tout moment donné. | 1 |
| Nombre maximal de répliques | Nombre maximal de copies autorisées pour la révision du conteneur à un moment donné. | 10 |
| endpoint | Point de terminaison du planificateur de tâches durable auquel l’outil de mise à l'échelle se connecte. | https://dts-ID.centralus.durabletask.io |
| nombreMaximalD'élémentsDeTravailSimultanés | Nombre maximal d’éléments de travail qu’une seule réplique traite simultanément. Les valeurs inférieures entraînent l’ajout de réplicas plus tôt. Commencez avec 1 pour le travail intensif sur le processeur ; augmentez-le pour les charges de travail liées aux E/S. |
1 |
| taskhubName | Nom du hub de tâches connecté au planificateur. | taskhub-ID |
| workItemType | Type d’élément de travail en cours de distribution. Les options incluent Orchestration, Activity, ou Entity. |
Orchestration |
| Identité gérée | Identité managée par l'utilisateur ou par le système liée à la ressource du planificateur et du hub de tâches. | /subscriptions/<SUB_ID>/resourceGroups/<RG>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<IDENTITY_NAME> |
Tutoriel : Déployer une application conteneur de mise à l’échelle automatique
Mise à l’échelle automatique déjà configurée sur une application existante ? Vous pouvez ignorer cette section. Si vous souhaitez une procédure pas à pas pratique, suivez les étapes ci-dessous pour déployer le Autoscaling dans Azure Container Apps exemple à l’aide de l’interface CLI développeur Azure. L’exemple déploie une application .NET Durable Task SDK qui utilise le modèle de chaînage de fonctions et inclut un scaler KEDA préconfiguré.
Note
Bien que cet exemple utilise le Kit de développement logiciel (SDK) Durable Task .NET, la mise à l’échelle automatique est indépendante du langage.
Prerequisites
- .NET 8 SDK ou version ultérieure
- Docker (pour générer l’image)
- CLI Azure pour développeurs
Configurer votre environnement
Clonez le
Azure-Samples/Durable-Task-Schedulerrépertoire.git clone https://github.com/Azure-Samples/Durable-Task-Scheduler.gitAuthentifiez-vous avec Azure à l’aide de l’interface CLI Azure développeur.
azd auth login
Déployer la solution à l’aide d’Azure Developer CLI
Naviguez dans l'exemple de répertoire
AutoscalingInACA.cd /path/to/Durable-Task-Scheduler/samples/scenarios/AutoscalingInACAInitialisez l’environnement CLI Azure développeur (nécessaire uniquement la première fois) :
azd initProvisionnez des ressources et déployez l’application :
azd upLorsque vous y êtes invité dans le terminal, fournissez les paramètres suivants.
Paramètre Description Nom de l’environnement Préfixe du groupe de ressources créé pour contenir toutes les ressources Azure. Emplacement Azure Emplacement Azure de vos ressources. Abonnement Azure L’abonnement Azure pour vos ressources. Ce processus peut prendre un certain temps. Une fois la commande
azd upterminée, la sortie de l’interface CLI affiche deux liens du portail Azure pour surveiller la progression du déploiement. La sortie montre également commentazd up:- Crée et configure toutes les ressources Azure nécessaires via les fichiers Bicep fournis dans le répertoire
./infraà l’aide deazd provision. Une fois approvisionné par Azure Developer CLI, vous pouvez accéder à ces ressources via le portail Azure. Les fichiers qui approvisionnent les ressources Azure sont les suivants :main.parameters.jsonmain.bicep- Un répertoire de ressources
apporganisé par fonctionnalité - Une bibliothèque de référence
corequi contient les modules Bicep utilisés par le modèleazd
- Déploie le code à l’aide de
azd deploy
Sortie attendue
Packaging services (azd package) (✓) Done: Packaging service client - Image Hash: {IMAGE_HASH} - Target Image: {TARGET_IMAGE} (✓) Done: Packaging service worker - Image Hash: {IMAGE_HASH} - Target Image: {TARGET_IMAGE} Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time. Subscription: SUBSCRIPTION_NAME (SUBSCRIPTION_ID) Location: West US 2 You can view detailed progress in the Azure portal: https://portal.azure.com/#view/HubsExtension/DeploymentDetailsBlade/~/overview/id/%2Fsubscriptions%SUBSCRIPTION_ID%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2FCONTAINER_APP_ENVIRONMENT (✓) Done: Resource group: GENERATED_RESOURCE_GROUP (1.385s) (✓) Done: Virtual Network: VNET_ID (862ms) (✓) Done: Container Apps Environment: GENERATED_CONTAINER_APP_ENVIRONMENT (54.125s) (✓) Done: Container Registry: GENERATED_REGISTRY (1m27.747s) (✓) Done: Container App: SAMPLE_CLIENT_APP (21.39s) (✓) Done: Container App: SAMPLE_WORKER_APP (24.136s) Deploying services (azd deploy) (✓) Done: Deploying service client - Endpoint: https://SAMPLE_CLIENT_APP.westus2.azurecontainerapps.io/ (✓) Done: Deploying service worker - Endpoint: https://SAMPLE_WORKER_APP.westus2.azurecontainerapps.io/ SUCCESS: Your up workflow to provision and deploy to Azure completed in 10 minutes 34 seconds.- Crée et configure toutes les ressources Azure nécessaires via les fichiers Bicep fournis dans le répertoire
Confirmer la réussite du déploiement
Dans le portail Azure, vérifiez que les orchestrations s’exécutent correctement.
Copiez le nom du groupe de ressources à partir de la sortie du terminal.
Connectez-vous au portail Azure et recherchez ce nom de groupe de ressources.
Dans la page vue d’ensemble du groupe de ressources, cliquez sur la ressource d’application conteneur cliente.
Sélectionnez Monitoring>Diffusion en continu de journaux.
Vérifiez que le conteneur client journalise les tâches de chaînage de fonctions.
Revenez à la page du groupe de ressources pour sélectionner le
workerconteneur.Sélectionnez Monitoring>Diffusion en continu de journaux.
Confirmez que le conteneur Worker journalise les tâches de chaînage de fonctions.
Comprendre le scaler personnalisé
Cet exemple inclut un azure.yaml fichier de configuration. Lorsque vous avez exécuté azd up, vous avez déployé l’ensemble de l’exemple de solution sur Azure, y compris un scaler personnalisé pour vos applications de conteneur qui s’adapte automatiquement en fonction de la charge de travail du planificateur de tâches durables.
Scaler personnalisé :
- Monitore le nombre d’orchestrations en attente dans le hub de tâches.
- Met à l’échelle le nombre de réplicas de Worker en fonction de l’augmentation de la charge de travail.
- Effectue un scale-down lorsque la charge diminue.
- Fournit une utilisation efficace des ressources en alignant la capacité sur la demande.
Vérifier la configuration du scaler
Vérifiez que la mise à l’échelle automatique fonctionne correctement dans la solution déployée.
Dans le portail Azure, accédez à votre application worker.
Dans le menu de gauche, sélectionnez Application>Révisions et réplicas.
Sélectionnez l’onglet Réplicas pour vérifier que votre application effectue un scale-out.
Dans le menu de gauche, sélectionnez Application>Mise à l’échelle.
Sélectionnez le nom de la règle d’échelle pour afficher les paramètres du scaler.
Contenu connexe
- Vue d’ensemble du planificateur de tâches durables
- Guide de démarrage rapide : Déployer une application utilisant Durable Task SDK vers des Azure Container Apps
- Définir des règles de mise à l’échelle dans Azure Container Apps
- Hostez une application Durable Functions avec le serveur principal MSSQL dans Azure Container Apps