Gérer des profils de charge de travail avec l’interface Azure CLI
Apprenez à gérer un environnement de profils de charge de travail avec Azure CLI.
Créer une application conteneur dans un profil
Par défaut, votre environnement Container Apps est créé avec un réseau virtuel managé qui est généré automatiquement pour vous. Les réseaux virtuels générés vous sont inaccessibles car ils sont créés dans le locataire de Microsoft.
Vous pouvez également créer un environnement avec un réseau virtuel personnalisé si vous avez besoin d’une des fonctionnalités suivantes :
- Itinéraires définis par l’utilisateur
- Intégration à Application Gateway
- Network Security Group
- Communiquer avec des ressources situées derrière des points de terminaison privés dans votre réseau virtuel
Lorsque vous créez un environnement avec un réseau virtuel personnalisé, vous avez un contrôle total sur la configuration du réseau virtuel. Ce degré de contrôle vous donne la possibilité d’implémenter les fonctionnalités suivantes :
- Itinéraires définis par l’utilisateur
- Intégration à Application Gateway
- Network Security Group
- Communiquer avec des ressources situées derrière des points de terminaison privés dans votre réseau virtuel
Utilisez les commandes suivantes pour créer un environnement de profils de charge de travail.
Créer un réseau virtuel.
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Créez un sous-réseau délégué à
Microsoft.App/environments
.az network vnet subnet create \ --address-prefixes 13.0.0.0/23 \ --delegations Microsoft.App/environments \ --name "<SUBNET_NAME>" \ --resource-group "<RESOURCE_GROUP>" \ --vnet-name "<VNET_NAME>" \ --query "id"
Copiez la valeur de l’ID et collez-la dans la commande suivante.
La délégation de
Microsoft.App/environments
est requise pour donner au runtime Container Apps le contrôle nécessaire sur votre réseau virtuel pour exécuter les profils de charge de travail dans l’environnement Container Apps.Vous pouvez spécifier une valeur aussi petite qu’un CIDR
/27
(32 adresses IP-8 réservées) pour le sous-réseau. Si vous vous apprêtez à spécifier un CIDR/27
, tenez compte des éléments suivants :Il existe 11 adresses IP réservées pour l’infrastructure Container Apps. Par conséquent, un CIDR
/27
a un maximum de 21 adresses IP disponibles.Les adresses IP sont allouées différemment entre les plans Consommation uniquement et Dédié :
Consommation uniquement Dédié Chaque réplica nécessite une adresse IP. Les utilisateurs ne peuvent pas avoir d’applications avec plus de 21 réplicas entre toutes les applications. Le déploiement avec zéro temps d’arrêt demande de doubler le nombre d’IP, car l’ancienne révision s’exécute jusqu’à ce que la nouvelle révision soit correctement déployée. Chaque instance (nœud de machine virtuelle) nécessite une adresse IP unique. Vous pouvez avoir jusqu’à 21 instances entre tous les profils de charge de travail, et des centaines de réplicas, ou plus, exécutés sur ces profils de charge de travail.
Créer un environnement de profils de charge de travail
Remarque
Vous pouvez configurer si votre application conteneur autorise les entrées publiques ou uniquement les entrées à partir de votre réseau virtuel au niveau de l’environnement. Pour limiter les entrées à votre réseau virtuel, définissez l’indicateur
--internal-only
.az containerapp env create \ --enable-workload-profiles \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"
az containerapp env create \ --enable-workload-profiles \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"
Cette commande peut prendre jusqu’à 10 minutes.
Vérifiez l’état de votre environnement. La commande suivante indique si l’environnement est créé avec succès.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
Le
provisioningState
doit indiquerSucceeded
avant de passer à la commande suivante.Créez une nouvelle application conteneur.
az containerapp create \ --resource-group "<RESOURCE_GROUP>" \ --name "<CONTAINER_APP_NAME>" \ --target-port 80 \ --ingress external \ --image mcr.microsoft.com/k8se/quickstart:latest \ --environment "<ENVIRONMENT_NAME>" \ --workload-profile-name "Consumption"
Cette commande déploie l’application sur le profil de charge de travail Consommation intégré. Si vous souhaitez créer une application dans un profil Dédié, vous devez d’abord ajouter le profil à l’environnement.
Cette commande crée la nouvelle application dans l’environnement à l’aide d’un profil de charge de travail spécifique.
Ajouter des profils
Ajoutez un nouveau profil de charge de travail à un environnement existant.
az containerapp env workload-profile add \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
La valeur que vous sélectionnez pour l’espace réservé <WORKLOAD_PROFILE_NAME>
est le nom convivial du profil de charge de travail.
L’utilisation de noms conviviaux vous permet d’ajouter plusieurs profils du même type à un environnement. Le nom convivial est ce que vous utilisez lorsque vous déployez et gérez une application conteneur dans un profil de charge de travail.
Modifier les profils
Vous pouvez changer le nombre minimal et maximal de nœuds utilisés par un profil de charge de travail via la commande update
.
az containerapp env workload-profile update \
--resource-group <RESOURCE_GROUP> \
--name <ENV_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
Supprimer un profil
Utilisez la commande suivante pour supprimer un profil de charge de travail.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
Remarque
Le profil de charge de travail Consommation ne peut pas être supprimé.
Inspecter les profils
Les commandes suivantes vous permettent de lister les profils disponibles dans votre région et ceux utilisés dans un environnement spécifique.
Lister les profils de charge de travail disponibles
Utilisez la commande list-supported
pour lister les profils de charge de travail pris en charge dans votre région.
La commande Azure CLI suivante affiche les résultats dans un tableau.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
La réponse ressemble à un tableau similaire à l’exemple ci-dessous :
Name Cores MemoryGiB Category
----------- ------- ----------- ---------------
D4 4 16 GeneralPurpose
D8 8 32 GeneralPurpose
D16 16 64 GeneralPurpose
E4 4 32 MemoryOptimized
E8 8 64 MemoryOptimized
E16 16 128 MemoryOptimized
E32 32 256 MemoryOptimized
Consumption 4 8 Consumption
Sélectionnez un profil de charge de travail et utilisez le champ Nom lors de l’ajout ou de la mise à jour de profils de charge de travail avec les commandes az containerapp env workload-profile add
ou az containerapp env workload-profile update
pour l’option --workload-profile-type
.
Afficher un profil de charge de travail
Affichez les détails d’un profil de charge de travail.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>