Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aspire Projekte sind für die Ausführung in containerisierten Umgebungen konzipiert.
Azure Container Apps ist eine vollständig verwaltete Umgebung, mit der Sie Microservices und containerisierte Anwendungen auf einer serverlosen Plattform ausführen können. In diesem Artikel wird beschrieben, wie Sie eine neue Aspire Lösung erstellen und diese mit der Azure Container Apps (Azure Developer CLI) für Microsoft azd bereitstellen. Sie erfahren, wie Sie die folgenden Aufgaben ausführen:
- Bereitstellung einer Azure Ressourcengruppe und eines Container-Registrys
- Veröffentlichen der Aspire Projekte als Container-Images in der Azure Container-Registry
- Bereitstellen eines Redis Containers in Azure
- Stellen Sie die Apps in einer Azure Container Apps Umgebung bereit
- Anzeigen von Anwendungskonsolenprotokollen zur Behandlung von Anwendungsproblemen
Voraussetzungen
Um mit Aspire zu arbeiten, müssen Sie Folgendes lokal installiert haben:
-
.NET 8,0 oder .NET 9,0.
- Aspire Ab 9.4 .NET wird 10 Preview 5 oder höher unterstützt.
- Eine OCI-kompatible Containerlaufzeit, z. B.:
- Docker Desktop oder Podman. Weitere Informationen finden Sie unter container runtime.
- Eine integrierte Entwicklerumgebung (Integrated Developer Environment, IDE) oder ein Code-Editor, z. B.:
- Visual Studio 2022 , Version 17.9 oder höher (optional)
-
Visual Studio Code (optional)
- C# Dev Kit: Erweiterung (Optional)
- JetBrains Rider mit Aspire Plug-In (Optional)
Weitere Informationen finden Sie unter Aspire Setup und Tooling und Aspire SDK.
Als Alternative zu diesem Lernprogramm und für eine ausführlichere Anleitung, lesen Sie Bereitstellen eines Aspire Projekts auf Azure Container Apps mit azd (ausführlicher Leitfaden).
Bereitstellen von Aspire Projekten mit azd
Mit Aspire und Azure Container Apps (ACA) haben Sie ein großartiges Hostingszenario für die Erstellung Ihrer cloudeigenen Apps mit .NET. Wir haben einige großartige neue Features speziell für die Entwicklung und Bereitstellung von Azure Developer CLI in azd in das Aspire (Azure) integriert, um eine reibungsfreie Erfahrung zu bieten. Für Produktionsszenarien, die eine präzise Kontrolle über die Infrastruktur erfordern, finden Sie unter Anpassen von AspireAzure Bereitstellungen. Für neue Projekte finden Sie jedoch keinen einfacheren Weg zum Erfolg, um eine neue Mikroservicetopologie in der Cloud bereitgestellt zu bekommen.
Erstellen eines Aspire Projekts
Als Ausgangspunkt geht in diesem Artikel davon aus, dass Sie ein Aspire Projekt aus der Aspire Vorlage "Startanwendung " erstellt haben. Weitere Informationen finden Sie in der Schnellstartanleitung: Erstellen Ihres ersten Aspire Projekts.
Ressourcen-Namensgebung
Wenn Sie neue Azure Ressourcen erstellen, ist es wichtig, die Benennungsanforderungen zu erfüllen. Für Azure Container Apps muss der Name zwischen 2 und 32 Zeichen lang sein und aus Kleinbuchstaben, Zahlen und Bindestrichen bestehen. Der Name muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden.
Weitere Informationen finden Sie unter Benennungsregeln und Einschränkungen für Azure Ressourcen.
Installieren Sie Azure Developer CLI
Der Prozess für die Installation azd variiert je nach Betriebssystem, aber es ist weit verbreitet über winget, , brew, aptoder direkt über curl. Informationen zum Installieren azdfinden Sie unter Installieren Azure Developer CLI.
Initialisieren der Vorlage
Öffnen Sie ein neues Terminalfenster und navigieren Sie zu dem Verzeichnis Ihrer
cd-Lösung.Führen Sie den befehl
azd initaus, um Ihr Projekt mitazdzu initialisieren, wodurch die lokale Verzeichnisstruktur überprüft und der App-Typ bestimmt wird.azd initWeitere Informationen zum
azd init-Befehl finden Sie unter azd init.Wählen Sie "Code im aktuellen Verzeichnis verwenden" aus, wenn
azdIhnen drei Optionen zur App-Initialisierung angeboten werden.? 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 projectNach dem Scannen des Verzeichnisses werden Sie aufgefordert, zu bestätigen,
azddass es das richtige AspireAppHost-Projekt gefunden hat. Wählen Sie die Option Bestätigen und mit der Initialisierung meiner App fortfahren.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 exitGeben Sie einen Umgebungsnamen ein, der verwendet wird, um bereitgestellte Ressourcen in Azure zu benennen und verschiedene Umgebungen wie
devundprodzu verwalten.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 generiert eine Reihe von Dateien und platziert sie in das Arbeitsverzeichnis. Diese Dateien sind:
- azure.yaml: Beschreibt die Dienste der App, z. B. Aspire AppHost-Projekt, und ordnet sie Azure Ressourcen zu.
-
.azure/config.json: Konfigurationsdatei, die
azdinformiert, was die aktuelle aktive Umgebung ist. - .azure/aspireazddev/.env: Enthält umgebungsspezifische Überschreibungen.
Implementieren der Vorlage
Sobald eine
azdVorlage initialisiert wurde, kann der Bereitstellungs- und Implementierungsprozess als einzelner Befehl mit azd up aus dem AppHost-Projektverzeichnis ausgeführt werden.azd upWählen Sie das Abonnement aus, für das Sie bereitstellen möchten, aus der Liste der verfügbaren Optionen:
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)Wählen Sie den gewünschten Azure Speicherort aus der Liste der verfügbaren Optionen aus:
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)
Nachdem Sie Ihre Auswahl getroffen haben, azd wird der Bereitstellungs- und Bereitsetzungsprozess ausgeführt.
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.
Der azd up Befehl fungiert als Wrapper für die folgenden einzelnen azd Befehle, um Ihre Ressourcen in einem einzigen Schritt bereitzustellen und zu implementieren.
-
azd package: Die App-Projekte und ihre Abhängigkeiten werden in Container verpackt. -
azd provision: Die Azure Ressourcen, die die App benötigt, werden bereitgestellt. -
azd deploy: Die Projekte werden als Container in eine Azure Containerregistrierungsinstanz übertragen und dann verwendet, um neue Überarbeitungen Azure Container Apps zu erstellen, in denen der Code gehostet wird.
Sobald die azd up-Phasen abgeschlossen sind, ist Ihre App auf Azure verfügbar, und Sie können das Azure-Portal öffnen, um die Ressourcen zu erkunden.
azd gibt außerdem URLs aus, um direkt auf die bereitgestellten Apps zuzugreifen.
Testen der bereitgestellten App
Nachdem die App provisioniert und bereitgestellt wurde, können Sie zum Azure Portal wechseln. In der Ressourcengruppe, in der Sie die App bereitgestellt haben, werden die drei Container-Apps und andere Ressourcen angezeigt.
Klicken Sie auf die web Container-App, um sie im Portal zu öffnen.
Klicken Sie auf den Link "Anwendungs-URL ", um das Front-End im Browser zu öffnen.
Wenn Sie auf den Knoten "Wetter" in der Navigationsleiste klicken, ruft die Front-End-Container-App web die apiservice Container-App auf, um Daten abzurufen. Die Ausgabe des Front-Ends wird mithilfe der redis Container-App und der Integration der AspireRedis Ausgabezwischenspeicherung zwischengespeichert. Wenn Sie das Front-End ein paar Mal aktualisieren, werden Sie feststellen, dass die Wetterdaten zwischengespeichert werden. Sie wird nach ein paar Sekunden aktualisiert.
Bereitstellen des Aspire Dashboards
Sie können das Aspire Dashboard als Teil Ihrer gehosteten App bereitstellen. Dieses Feature wird jetzt vollständig unterstützt. Bei der Bereitstellung drucken die azd-Ausgabeprotokolle eine zusätzliche URL zum bereitgestellten Dashboard.
Sie können ausführen azd monitor , um das Dashboard automatisch zu starten.
azd monitor
Bereinigen von Ressourcen
Führen Sie den folgenden Azure CLI-Befehl aus, um die Ressourcengruppe zu löschen, wenn Sie die von Ihnen erstellten Azure Ressourcen nicht mehr benötigen. Durch das Löschen der Ressourcengruppe werden auch die darin enthaltenen Ressourcen gelöscht.
az group delete --name <your-resource-group-name>
Weitere Informationen finden Sie unter Ressourcen bereinigen in Azure.