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
- Application utilisant un magasin App Configuration. Si vous n’en avez pas, créez une instance à l’aide du Démarrage rapide : créer une application ASP.NET Core avec App Configuration.
- Instance Azure Container Apps. Si vous n’en avez pas, créez une instance à l’aide du Portail Azure ou de l’interface CLI.
- Docker Desktop
- Azure CLI
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 :
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
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
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"]
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.
- Pour créer le registre de conteneurs, suivez le Démarrage rapide d’Azure Container Registry.
- 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.
- Prenez note de la valeur du Serveur de connexion répertoriée sur cette page. Vous utiliserez cette information dans une prochaine étape.
- 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.
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.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
etmyregistry.azurecr.io/aspnetapp
.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
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.
Ajouter votre image conteneur à Azure Container Apps
Mettez à jour votre application conteneur pour charger l’image conteneur à partir de votre Azure Container Registry (ACR).
Dans le Portail Azure, ouvrez votre instance Azure Container Apps.
Dans le menu à gauche, sous Application, sélectionnez Conteneurs.
Sélectionnez Modifier et déployer.
Sous Image conteneur, cliquez sur le nom de l’image conteneur existante.
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. 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 :
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.
- Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
- Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
- Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
- Sélectionnez Supprimer le groupe de ressources.
- 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.