Démarrage rapide : utiliser Azure App Configuration dans Azure Container Apps
Dans ce démarrage rapide, vous utilisez 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 conteneurisez l’application et la déployez 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 service pour Azure Container Apps afin de créer une connexion de service pour 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 Identité managée affectée par le système
- Développez le menu Avancé
- Attribuer le rôle Lecteur des données App Configuration à votre identité
- Sous Informations de configuration, vous trouverez une variable d’environnement nommée
AZURE_APPCONFIGURATION_ENDPOINT
. Sélectionnez l’icône de crayon à droite, puis modifiez le nom de variable d’environnement à faire correspondre au nom de variable dans votre application à partir de laquelle vous chargez votre point de terminaison App Configuration. Si vous générez votre application en suivant le démarrage rapide ASP.NET Core, votre nom de variable estEndpoints:AppConfiguration
. Lorsque vous modifiez le nom de variable, remplacez les deux-points par des traits de soulignement doubles pour qu’il devienneEndpoints__AppConfiguration
. Si vous utilisez une autre application, entrez le nom de variable d’environnement correspondant, puis sélectionnez Terminé.
Utilisez les valeurs par défaut pour tout le reste.
Une fois la connexion créée, une variable d’environnement nommée
Endpoints__AppConfiguration
est ajoutée au conteneur de votre ressource Container App. Sa valeur est une référence du secret de Container App, le point de terminaison 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.
Contenu connexe
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 en utilisant l’identité managée et comment accéder à Container Registry en utilisant 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.