Partager via


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.

  1. 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>"
    
  2. 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.
  1. 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.

  2. 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 indiquer Succeeded avant de passer à la commande suivante.

  3. 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> 

Étapes suivantes