Démarrage rapide : utiliser Azure App Configuration dans Azure Container Apps

Dans ce guide de démarrage rapide, vous allez utiliser Azure App Configuration dans une application qui s’exécute dans Azure Container Apps. Ainsi, vous pouvez centraliser le stockage et la gestion de la configuration de vos applications dans Container Apps. Ce guide de démarrage rapide tire parti de l’application ASP.NET Core créée dans Démarrage rapide : créer une application ASP.NET Core avec App Configuration. Vous allez mettre en conteneur l’application et la déployer dans Azure Container Apps. Suivez le guide de démarrage rapide avant de continuer.

Conseil

Tout en suivant ce guide de démarrage rapide, inscrivez de préférence toutes les nouvelles ressources au sein d’un seul groupe de ressources afin de pouvoir les regrouper dans un emplacement unique et les supprimer plus rapidement par la suite si vous n’en avez plus besoin.

Prérequis


Connecter Azure App Configuration à l’application conteneur

Dans le Portail Azure, accédez à votre instance d’application conteneur. Suivez le Démarrage rapide du connecteur de services pour Azure Container Apps afin de créer une connexion de service à votre magasin App Configuration en utilisant les paramètres ci-dessous.

  • Sous l’onglet Informations de base :

    • sélectionnez App Configuration pour Type de service

    • choisissez votre magasin App Configuration pour « App Configuration »

      Capture d’écran de la plateforme Azure montrant un formulaire dans le menu du connecteur de services d’une application conteneur.

  • Sous l’onglet Authentification :

    • sélectionnez le type d’authentification Chaîne de connexion et Lecture seule pour « Autorisations pour la chaîne de connexion
    • développez le menu Avancé. Dans les informations de configuration, une variable d’environnement déjà créée appelée « AZURE_APPCONFIGURATION_CONNECTIONSTRING » doit être présent. Modifiez la variable d’environnement en sélectionnant l’icône à droite, puis remplacez le nom par ConnectionStrings__AppConfig. Nous devons apporter cette modification, car ConnectionStrings__AppConfig est le nom de la variable d’environnement que l’application générée dans le démarrage rapide ASP.NET Core va rechercher. Il s’agit de la variable d’environnement contenant la chaîne de connexion pour App Configuration. Si vous avez utilisé une autre application pour suivre ce guide de démarrage rapide, veuillez utiliser le nom de variable d’environnement correspondant. Ensuite, sélectionnez Terminé.
  • Utilisez les valeurs par défaut pour tout le reste.

Une fois terminé, une variable d’environnement nommée ConnectionStrings__AppConfig sera ajoutée au conteneur de votre application conteneur. Sa valeur est une référence du secret de l’application conteneur, la chaîne de connexion de votre magasin App Configuration.

Générer un conteneur

  1. Exécutez la commande dotnet publish pour générer l’application en mode de mise en production et créer les ressources dans le dossier publié.

    dotnet publish -c Release -o published
    
  2. Créez un fichier nommé Dockerfile dans le répertoire contenant votre fichier .csproj, ouvrez-le dans un éditeur de texte, puis entrez le contenu suivant. Un Dockerfile est un fichier texte n’ayant pas d’extension qui est utilisé pour créer une image conteneur.

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
    WORKDIR /app
    COPY published/ ./
    ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
    
  3. Générez le conteneur à l’aide de la commande suivante.

    docker build --tag aspnetapp .
    

Créer une instance Azure Container Registry

Créer un registre de conteneurs Azure. Azure Container Registry (ACR) vous permet de créer, stocker et gérer des images conteneur.

  1. Pour créer le registre de conteneurs, suivez le Démarrage rapide d’Azure Container Registry.
  2. Une fois le déploiement terminé, ouvrez votre instance Azure Container Registry (ACR) puis, dans le menu de gauche, sélectionnez Paramètres > Clés d’accès.
  3. Prenez note de la valeur du Serveur de connexion répertoriée sur cette page. Vous utiliserez cette information dans une prochaine étape.
  4. Basculez Administrateur utilisateur sur Activé. Cette option vous permet de connecter Azure Container Registry (ACR) à Azure Container Apps en utilisant les informations d’identification de l’utilisateur administrateur. Vous pouvez également la laisser désactivée et configurer l’application conteneur pour extraire des images du registre avec une identité managée.

Envoyer l’image vers Azure Container Registry

Publiez l’image de Docker sur Azure Container Registry (ACR) créé plus tôt.

  1. Exécutez la commande az acr login pour vous connecter au registre.

    az acr login --name myregistry
    

    La commande retourne Login Succeeded une fois la connexion réussie.

  2. Utilisez une balise Docker pour ajouter une balise aux détails appropriés de l’image.

    docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
    

    Conseil

    Pour passer en revue la liste de vos images et balises Docker existantes, exécutez docker image ls. Dans ce scénario, vous devez voir au moins deux images : aspnetapp et myregistry.azurecr.io/aspnetapp.

  3. Utilisez docker push pour envoyer (push) l’image vers le registre de conteneurs. Cet exemple crée le référentiel aspnetapp dans Azure Container Registry (ACR) qui contient l’image aspnetapp. Dans l’exemple ci-dessous, remplacez les espaces réservés <login-server, <image-name> et <tag> par la valeur du serveur de connexion d’Azure Container Registry (ACR), le nom et la balise de l’image.

    Méthode :

    docker push <login-server>/<image-name>:<tag>
    

    Exemple :

    docker push myregistry.azurecr.io/aspnetapp:v1
    
  4. Ouvrez votre Azure Container Registry dans le Portail Azure, puis vérifiez que vous pouvez voir votre nouveau dépôt sous Dépôts.

    Capture d’écran de la plateforme Azure montrant un dépôt dans des registres de conteneur Azure.

Ajouter votre image conteneur à Azure Container Apps

Mettez à jour votre application conteneur pour charger l’image conteneur à partir de votre Azure Container Registry (ACR).

  1. Dans le Portail Azure, ouvrez votre instance Azure Container Apps.

  2. Dans le menu à gauche, sous Application, sélectionnez Conteneurs.

  3. Sélectionnez Modifier et déployer.

  4. Sous Image conteneur, cliquez sur le nom de l’image conteneur existante.

  5. Mettez à jour les paramètres suivants :

    Paramètre Valeur suggérée Description
    Source d’image Azure Container Registry Sélectionnez Azure Container Registry comme source de votre image.
    Authentification Informations d’identification de l’administrateur Utilisez l’option des informations d’identification de l’utilisateur administrateur activée précédemment dans le registre de conteneurs. Si vous n’avez pas activé l’utilisateur administrateur, mais que vous avez configuré pour utiliser une identité managée, vous devez entrer manuellement l’image et la balise dans le formulaire.
    Registre myregistry.azurecr.io Sélectionnez le registre de conteneurs Azure créé précédemment.
    Image aspnetapp Sélectionnez l’image Docker que vous avez créée et envoyée à Azure Container Registry (ACR) précédemment.
    Balise d'image v1 Sélectionnez votre balise d’image dans la liste.
  6. Sélectionnez Enregistrer, puis Créer pour déployer la mise à jour vers l’application contenu Azure.

Accéder à l’URL de l’application conteneur Azure

Dans le Portail Azure, dans l’instance Azure Container Apps, accédez à l’onglet Vue d’ensemble et ouvrez l’URL de l’application.

La page web ressemble à ceci :

Capture d’écran d’un navigateur Internet affichant l’application en cours d’exécution.

Nettoyer les ressources

Si vous ne souhaitez plus utiliser les ressources créées dans cet article, supprimez le groupe de ressources que vous avez créé ici afin d’éviter des frais.

Important

La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé les ressources pour cet article dans un groupe de ressources contenant d’autres ressources que vous souhaitez conserver, supprimez chaque ressource individuellement à partir de son volet, au lieu de supprimer l’intégralité du groupe de ressources.

  1. Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
  2. Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
  3. Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
  4. Sélectionnez Supprimer le groupe de ressources.
  5. Vous êtes invité à confirmer la suppression du groupe de ressources. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.

Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.

Étapes suivantes

Dans ce guide de démarrage rapide, vous :

  • Service Azure App Configuration connecté à Azure Container Apps
  • Docker utilisé pour créer une image conteneur à partir d’une application ASP.NET Core avec des paramètres App Configuration
  • Instance Azure Container Registry créée
  • Image envoyée (push) à une instance Azure Container Registry
  • Image conteneur envoyée à Azure Container Apps
  • Accès à l’URL de l’instance Azure Container Apps mise à jour à l’aide des paramètres configurés dans votre magasin App Configuration.

L’identité managée permet à une ressource Azure d’accéder à une autre ressource sans avoir à conserver des secrets. Vous pouvez simplifier l’accès de Container Apps à d’autres ressources Azure. Pour obtenir plus d’informations, consultez comment accéder à App Configuration à l’aide de l’identité managée et comment [accéder à Container Registry à l’aide de l’identité managée].

Pour savoir comment configurer votre application web ASP.NET Core afin d’actualiser dynamiquement les paramètres de configuration, passez au tutoriel suivant.