Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Aspire les projets sont conçus pour s’exécuter dans des environnements conteneurisés.
Azure Container Apps est un environnement entièrement managé qui vous permet d’exécuter des microservices et des applications conteneurisées sur une plateforme serverless. Cet article vous guide tout au long de la création d’une Aspire solution et de son déploiement sur Microsoft Azure Container Apps à l’aide du Azure Developer CLI (azd). Vous allez apprendre à effectuer les tâches suivantes :
- Provisionner un Azure groupe de ressources et un registre de conteneurs
- Publier les projets Aspire sous forme d’images conteneurs dans le registre de conteneurs Azure
- Provisionner un Redis conteneur dans Azure
- Déployer les applications dans un Azure Container Apps environnement
- Afficher les journaux de la console d’application pour résoudre les problèmes d’application
Prerequisites
Pour travailler avec Aspire, vous avez besoin des éléments suivants installés localement :
-
.NET 8.0 ou .NET 9.0.
- Aspire À compter de la version 9.4, .NET la version Preview 5 ou ultérieure est prise en charge.
- Un runtime de conteneur conforme à OCI, tel que :
- Docker Ordinateur de bureau ou Podman. Pour plus d’informations, consultez le runtime de conteneur .
- Un environnement de développement intégré (IDE) ou un éditeur de code, par exemple :
- Visual Studio 2022 version 17.9 ou ultérieure (facultatif)
-
Visual Studio Code (facultatif)
- C# Dev Kit: Extension (facultatif)
- JetBrains Rider avec Aspire plug-in (facultatif)
Pour plus d’informations, consultez Aspire configuration et outils, et Aspire SDK.
Comme alternative à ce didacticiel et pour un guide plus détaillé, consultez Déployer un Aspire projet à Azure Container Apps par azd (guide détaillé).
Déployer des Aspire projets avec azd
Avec Aspire et Azure Container Apps (ACA), vous disposez d’un excellent scénario d’hébergement pour créer vos applications natives cloud avec .NET. Nous avons créé de nouvelles fonctionnalités intéressantes dans la Azure Developer CLI (azd) spécifiques pour rendre le développement Aspire et le déploiement Azure une expérience transparente. Pour les scénarios de production nécessitant un contrôle granulaire sur l’infrastructure, consultez Personnaliser AspireAzure les déploiements. Toutefois, pour les nouveaux projets, vous ne trouverez pas de chemin plus facile pour obtenir une nouvelle topologie de microservice déployée dans le cloud.
Créer un Aspire projet
Comme point de départ, cet article part du principe que vous avez créé un Aspire projet à partir du Aspire modèle d’application starter . Pour plus d’informations, consultez Démarrage rapide : Créer votre premier Aspire projet.
Nommage des ressources
Lorsque vous créez de nouvelles ressources Azure, il est important de respecter les exigences de nommage. Pour Azure Container Appscela, le nom doit comporter 2 à 32 caractères et se composer de lettres minuscules, de chiffres et de traits d’union. Le nom doit commencer par une lettre et se terminer par un caractère alphanumérique.
Pour plus d’informations, consultez règles et restrictions d’affectation de noms pour les Azure ressources.
Installer le Azure Developer CLI
Le processus d’installation azd varie en fonction de votre système d’exploitation, mais il est largement disponible via winget, brew, aptou directement via curl. Pour installer azd, consultez Installer Azure Developer CLI.
Initialiser le modèle
Ouvrez une nouvelle fenêtre de terminal et
cddans le répertoire de votre solution Aspire.Exécutez la commande
azd initpour initialiser votre projet avecazd, qui inspecte la structure de répertoires local et détermine le type d’application.azd initPour plus d’informations sur la commande
azd init, consultez azd init.Sélectionnez Utiliser du code dans le répertoire actif lorsque
azdvous êtes invité à utiliser trois options d’initialisation d’application.? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template Create a minimal projectAprès avoir analysé le répertoire,
azdvous invite à confirmer qu’il a trouvé le projet Aspire approprié. Sélectionnez l’option Confirmer et continuer à initialiser mon application.Detected services: .NET (Aspire) Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Cancel and exitEntrez un nom d’environnement, utilisé pour nommer les ressources provisionnée dans Azure et gérer différents environnements tels que
devetprod.Generating files to run your app on Azure: (✓) Done: Generating ./azure.yaml (✓) Done: Generating ./next-steps.md SUCCESS: Your app is ready for the cloud! You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd génère un certain nombre de fichiers et les place dans le répertoire de travail. Ces fichiers sont les suivants :
- azure.yaml: décrit les services de l’application, tels que Aspire projet AppHost, et les mappe aux ressources Azure.
-
.azure/config.json: fichier de configuration qui informe
azdde quel est l'environnement actif actuel. - .azure/aspireazddev/.env: contient des remplacements spécifiques à l’environnement.
Déployer le modèle
Une fois qu’un
azdmodèle est initialisé, le processus d’approvisionnement et de déploiement peut être exécuté en tant que commande unique à partir du répertoire du projet AppHost à l’aide d’azd up :azd upSélectionnez l’abonnement sur lequel vous souhaitez effectuer le déploiement dans la liste des options disponibles :
Select an Azure Subscription to use: [Use arrows to move, type to filter] 1. SampleSubscription01 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx) 2. SampleSubscription02 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)Sélectionnez l’emplacement souhaité Azure à utiliser dans la liste des options disponibles :
Select an Azure location to use: [Use arrows to move, type to filter] 42. (US) Central US (centralus) 43. (US) East US (eastus) > 44. (US) East US 2 (eastus2) 46. (US) North Central US (northcentralus) 47. (US) South Central US (southcentralus)
Après avoir effectué vos sélections, azd exécute le processus d’approvisionnement et de déploiement.
By default, a service can only be reached from inside the Azure Container Apps environment it is running in. Selecting a service here will also allow it to be reached from the Internet.
? Select which services to expose to the Internet webfrontend
? Select an Azure Subscription to use: 1. <YOUR SUBSCRIPTION>
? Select an Azure location to use: 1. <YOUR LOCATION>
Packaging services (azd package)
Provisioning Azure resources (azd provision)
Provisioning Azure resources can take some time.
Subscription: <YOUR SUBSCRIPTION>
Location: <YOUR LOCATION>
You can view detailed progress in the Azure Portal:
<LINK TO DEPLOYMENT>
(✓) Done: Resource group: <YOUR RESOURCE GROUP>
(✓) Done: Container Registry: <ID>
(✓) Done: Log Analytics workspace: <ID>
(✓) Done: Container Apps Environment: <ID>
SUCCESS: Your application was provisioned in Azure in 1 minute 13 seconds.
You can view the resources created under the resource group <YOUR RESOURCE GROUP> in Azure Portal:
<LINK TO RESOURCE GROUP OVERVIEW>
Deploying services (azd deploy)
(✓) Done: Deploying service apiservice
- Endpoint: <YOUR UNIQUE apiservice APP>.azurecontainerapps.io/
(✓) Done: Deploying service webfrontend
- Endpoint: <YOUR UNIQUE webfrontend APP>.azurecontainerapps.io/
Aspire Dashboard: <LINK TO DEPLOYED Aspire DASHBOARD>
SUCCESS: Your up workflow to provision and deploy to Azure completed in 3 minutes 50 seconds.
La azd up commande agit comme wrapper pour les commandes individuelles azd suivantes pour provisionner et déployer vos ressources en une seule étape :
-
azd package: les projets d’application et leurs dépendances sont empaquetés dans des conteneurs. -
azd provision: les Azure ressources dont l’application a besoin sont approvisionnées. -
azd deploy: Les projets sont envoyés en tant que conteneurs dans une instance de Azure Container Registry, puis utilisés pour créer de nouvelles révisions de Azure Container Apps dans lesquelles le code sera hébergé.
Une fois les azd up étapes terminées, votre application sera disponible sur Azure, et vous pouvez ouvrir le Azure portail pour explorer les ressources.
azd génère également des URL pour accéder directement aux applications déployées.
Tester l’application déployée
Maintenant que l’application a été configurée et déployée, vous pouvez accéder au Azure portail. Dans le groupe de ressources où vous avez déployé l’application, vous verrez les trois applications conteneur et d’autres ressources.
Cliquez sur l'application conteneur web pour l'ouvrir dans le portail.
Aspire project's front end in the Azure portal.
Cliquez sur le lien URL de l’application pour ouvrir le serveur frontal dans le navigateur.
Aspire project's front end in the browser.
Lorsque vous cliquez sur le nœud « Météo » dans la barre de navigation, l’application conteneur frontale web effectue un appel à l’application apiservice conteneur pour obtenir des données. La sortie du front-end sera mise en cache à l'aide de l'application conteneur redis et de l'intégration AspireRedis Output Caching. Lorsque vous actualisez le serveur frontal quelques fois, vous remarquerez que les données météorologiques sont mises en cache. Elle sera mise à jour après quelques secondes.
Déployer le Aspire tableau de bord
Vous pouvez déployer le Aspire tableau de bord dans le cadre de votre application hébergée. Cette fonctionnalité est désormais entièrement prise en charge. Lors du déploiement, les journaux de sortie azd affichent une URL supplémentaire pour le tableau de bord déployé.
Vous pouvez exécuter azd monitor pour lancer automatiquement le tableau de bord.
azd monitor
Nettoyer les ressources
Exécutez la commande CLI Azure suivante pour supprimer le groupe de ressources lorsque vous n’avez plus besoin des ressources Azure que vous avez créées. La suppression du groupe de ressources supprime également les ressources contenues à l’intérieur de celui-ci.
az group delete --name <your-resource-group-name>
Pour plus d’informations, consultez Nettoyer les ressources dans Azure.