Partager via


Démarrage rapide : déployer une image conteneur existante avec la ligne de commande

Le service Azure Container Apps permet d’exécuter des microservices et des applications conteneurisées sur une plateforme serverless. Avec Container Apps, vous bénéficiez des avantages de l’exécution de conteneurs tout en laissant derrière vous les préoccupations liées à la configuration manuelle de l’infrastructure cloud et aux orchestrateurs de conteneurs complexes.

Cet article explique comment déployer un conteneur existant sur Azure Container Apps.

Notes

L’autorisation de registre privé est prise en charge via le nom d’utilisateur et le mot de passe du registre.

Prérequis

Programme d’installation

Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification.

az login

Pour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande de mise à niveau.

az upgrade

Ensuite, installez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.

Si vous recevez des erreurs concernant des paramètres manquants lorsque vous exécutez des commandes az containerapp dans Azure CLI ou les cmdlets du module Az.App dans Azure PowerShell, assurez-vous que la dernière version de l’extension Azure Container Apps est installée.

az extension add --name containerapp --upgrade

Remarque

À compter de mai 2024, les extensions Azure CLI n’activent plus les fonctionnalités en préversion par défaut. Pour accéder aux fonctionnalités en préversion de Container Apps, installez l’extension Container Apps avec --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Maintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms Microsoft.App et Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Définir des variables d’environnement

Définissez les variables d’environnement suivantes. Remplacez les <PLACEHOLDERS> par vos valeurs :

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Création d’un groupe de ressources Azure

Créez un groupe de ressources pour organiser les services liés au déploiement de votre application de conteneur.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Créer un environnement

Un environnement dans Azure Container Apps crée une limite sécurisée autour d’un groupe d’applications de conteneur. Les applications de conteneur déployées dans le même environnement sont déployées dans le même réseau virtuel et écrivent les journaux dans le même espace de travail Log Analytics.

Pour créer l’environnement, exécutez la commande suivante :

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Créer une application de conteneur

Maintenant que vous avez créé un environnement, vous pouvez déployer votre première application de conteneur.

  1. Définissez les variables d’environnement.

    Remplacez les <PLACEHOLDERS> par vos valeurs. Votre nom d’utilisateur principal est généralement au format d’une adresse e-mail (par exemple, username@domain.com).

     CONTAINER_APP_NAME=my-container-app
     KEY_VAULT_NAME=my-key-vault
     USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME>
     SECRET_NAME=my-secret-name
     CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
     REGISTRY_SERVER=<REGISTRY_SERVER>
     REGISTRY_USERNAME=<REGISTRY_USERNAME>
    
  2. Créez le coffre de clés.

    Le stockage de votre mot de passe de registre de conteneurs à l’aide d’un service tel qu’Azure Key Vault sécurise les valeurs à tout moment. Les étapes décrites dans cette section montrent comment créer un coffre de clés, stocker votre mot de passe de registre de conteneurs dans le Key Vault, puis récupérer le mot de passe à utiliser dans votre code.

     az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
    
  3. Donner à votre compte d’utilisateur des autorisations pour gérer les secrets dans le coffre de clés.

     KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv)
     az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
    
  4. Stockez votre mot de passe de registre de conteneurs dans le coffre de clés.

    Remplacez <REGISTRY_PASSWORD> par votre valeur.

     az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
    
  5. Récupérez le mot de passe de votre registre de conteneurs à partir du coffre de clés.

     REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
    
  6. Déployez une image conteneur sur Azure Container Apps.

     az containerapp create \
       --name $CONTAINER_APP_NAME \
       --location $LOCATION \
       --resource-group $RESOURCE_GROUP \
       --image $CONTAINER_IMAGE_NAME \
       --environment $CONTAINERAPPS_ENVIRONMENT \
       --registry-server $REGISTRY_SERVER \
       --registry-username $REGISTRY_USERNAME \
       --registry-password $REGISTRY_PASSWORD
    

    Si vous avez activé l’entrée dans votre application conteneur, vous pouvez ajouter --query properties.configuration.ingress.fqdn à la commande create pour renvoyer l’URL publique de l’application.

  1. Définissez les variables d’environnement.

     CONTAINER_APP_NAME=my-container-app
     CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
    
  2. Déployez une image conteneur sur Azure Container Apps.

     az containerapp create \
       --image $CONTAINER_IMAGE_NAME \
       --name $CONTAINER_APP_NAME \
       --resource-group $RESOURCE_GROUP \
       --environment $CONTAINERAPPS_ENVIRONMENT
    

    Si vous avez activé l’entrée dans votre application conteneur, vous pouvez ajouter --query properties.configuration.ingress.fqdn à la commande create pour renvoyer l’URL publique de l’application.


Vérifier le déploiement

Pour vérifier que le déploiement a réussi, vous pouvez interroger l’espace de travail Log Analytics. Avant de pouvoir interroger les journaux, vous devrez peut-être attendre quelques minutes après le déploiement, le temps que l’analytique soit générée pour la première fois. Cela dépend de la journalisation dans la console qui est implémentée dans votre application conteneur.

Utilisez les commandes suivantes pour voir les messages des journaux dans la console.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == $CONTAINER_APP_NAME | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

Nettoyer les ressources

Si vous ne souhaitez pas continuer à utiliser cette application, exécutez la commande suivante pour supprimer le groupe de ressources ainsi que toutes les ressources créées pendant ce démarrage rapide.

Attention

La commande suivante supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si des ressources en dehors du cadre de ce démarrage rapide existent dans le groupe de ressources spécifié, elles seront également supprimées.

az group delete --name $RESOURCE_GROUP

Conseil

Vous rencontrez des problèmes ? Faites-le nous savoir sur GitHub en ouvrant un problème dans le dépôt Azure Container Apps.

Étapes suivantes