Sdílet prostřednictvím


Nasazení projektu .NET Aspire do Azure Container Apps

.NET .NET Aspire projekty jsou navržené tak, aby běžely v kontejnerizovaných prostředích. Azure Container Apps je plně spravované prostředí, které umožňuje spouštět mikroslužby a kontejnerizované aplikace na bezserverové platformě. Tento článek vás provede vytvořením nového .NET Aspire řešení a jeho nasazením do Microsoftu Azure Container Apps pomocí Azure Developer CLI (azd). Dozvíte se, jak provést následující úlohy:

  • Zřízení skupiny prostředků Azure a registru kontejnerů
  • Publikování projektů .NET Aspire jako imagí kontejneru ve službě Azure Container Registry
  • Zřízení kontejneru Redis v Azure
  • Nasazení aplikací do Azure Container Apps prostředí
  • Zobrazení protokolů konzoly aplikace pro řešení potíží s aplikací

Požadavky

Pokud chcete pracovat s .NET.NET Aspire, potřebujete místně nainstalovat následující:

Další informace najdete v tématu .NET.NET Aspire nastavení a nástrojea .NET.NET Aspire SDK.

Alternativou k tomuto kurzu a podrobnějšímu průvodci najdete v tématu Nasazení projektu .NET Aspire pro Azure Container Apps pomocí azd (podrobný průvodce).

Nasadit .NET.NET Aspire projekty pomocí azd

S .NET Aspire a Azure Container Apps (ACA) máte skvělý scénář hostování pro vytváření aplikací nativních pro cloud pomocí .NET. Do Azure Developer CLI (azd) jsme integrovali několik skvělých nových funkcí, které jsou určeny k tomu, aby vyvoj a nasazení .NET Aspire na Azure bylo bezproblémové. Možnosti Azure rozhraní příkazového řádku nebo Bicep můžete dál používat, pokud potřebujete podrobnou úroveň kontroly nad nasazeními. U nových projektů ale nenajdete jednodušší cestu k úspěchu při nasazení nové topologie mikroslužeb do cloudu.

Vytvoření projektu .NET.NET Aspire

Jako výchozí bod se v tomto článku předpokládá, že jste vytvořili projekt .NET.NET Aspire ze šablony .NET.NET Aspire Starter Application. Další informace najdete v tématu Rychlý start: Vytvoření prvního .NET.NET Aspire projektu.

Pojmenování prostředků

Při vytváření nových Azure prostředků je důležité dodržovat požadavky na pojmenování. Pro Azure Container Appsmusí mít název délku 2 až 32 znaků a musí obsahovat malá písmena, číslice a pomlčky. Název musí začínat písmenem a končit alfanumerickým znakem.

Další informace najdete v tématu Pravidla a omezení pro Azure prostředky.

Nainstalujte Azure Developer CLI

Proces instalace azd se liší podle operačního systému, ale je široce dostupný prostřednictvím winget, brew, aptnebo přímo prostřednictvím curl. Pokyny pro instalaci azdnaleznete v části Instalace Azure Developer CLI.

Inicializovat šablonu

  1. Otevřete nové okno terminálu a cd do adresáře projektu AppHost vašeho řešení .NET.NET Aspire.

  2. Spuštěním příkazu azd init inicializovat projekt pomocí azd, který zkontroluje místní adresářovou strukturu a určí typ aplikace.

    azd init
    

    Další informace o příkazu azd init naleznete v tématu azd init.

  3. Vyberte Použít kód v aktuálním adresáři, když azd zobrazí výzvu se dvěma možnostmi inicializace aplikace.

    ? How do you want to initialize your app?  [Use arrows to move, type to filter]
    > Use code in the current directory
      Select a template
    
  4. Po kontrole adresáře azd zobrazí výzvu k potvrzení, že našel správný projekt .NET.NET AspireAppHost. Vyberte možnost Potvrdit a pokračovat v inicializaci aplikace.

    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 exit
    
  5. Zadejte název prostředí, který se používá k pojmenování zřízených prostředků v Azure a správě různých prostředí, jako jsou dev a prod.

    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 vygeneruje řadu souborů a umístí je do pracovního adresáře. Tyto soubory:

  • azure.yaml: Popisuje služby aplikace, například projekt .NET Aspire AppHost, a mapuje je na Azure zdroje.
  • .azure/config.json: Konfigurační soubor, který informuje azd, co je aktuální aktivní prostředí.
  • .azure/aspireazddev/.env: Obsahuje přepsání specifická pro prostředí.

Nasazení šablony

  1. Po inicializaci šablony azd lze proces zřizování a nasazení spustit jako jediný příkaz z adresáře projektu AppHost pomocí azd up:

    azd up
    
  2. Ze seznamu dostupných možností vyberte předplatné, do které chcete nasadit:

    Select an Azure Subscription to use:  [Use arrows to move, type to filter]
      1. SampleSubscription01 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)
      2. SamepleSubscription02 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)
    
  3. Ze seznamu dostupných možností vyberte požadované umístění Azure:

    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)
    

Jakmile provedete výběry, azd spustí proces zřizování a nasazení.

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 .NET ASPIRE DASHBOARD>

SUCCESS: Your up workflow to provision and deploy to Azure completed in 3 minutes 50 seconds.

Příkaz azd up funguje jako balící pro následující samostatné příkazy azd pro nastavení a automatické nasazení prostředků v jednom kroku.

  1. azd package: Projekty aplikací a jejich závislosti jsou zabalené do kontejnerů.
  2. azd provision: Azure prostředky, které aplikace potřebuje, jsou zřízené.
  3. azd deploy: Projekty se nasdílí jako kontejnery do instance služby Azure Container Registry a pak se použijí k vytvoření nových revizí Azure Container Apps, ve kterých bude kód hostován.

Po dokončení azd up fází bude vaše aplikace dostupná na Azurea můžete otevřít Azure portál a prozkoumat prostředky. azd také vypíše adresy URL pro přímý přístup k nasazených aplikacím.

Otestování nasazené aplikace

Teď, když je aplikace zřízená a nasazená, můžete přejít na portál Azure. Ve skupině prostředků, do které jste nasadili aplikaci, uvidíte tři kontejnerové aplikace a další prostředky.

Snímek obrazovky skupiny prostředků projektu .NET Aspire na portálu Azure.

Kliknutím na web Container App ji otevřete na portálu.

snímek obrazovky s front-endem projektu .NET Aspire na portálu Azure.

Kliknutím na odkaz Adresa URL aplikace otevřete front-end aplikace v prohlížeči.

snímek obrazovky s front-endem projektu .NET.NET Aspire v prohlížeči.

Když kliknete na uzel Počasí na navigačním panelu, front-endová aplikace web kontejneru zavolá aplikaci kontejneru apiservice, aby získala data. Výstup front-endu bude uložen do mezipaměti pomocí aplikace kontejneru redis a integrace ukládání výstupu do mezipaměti .NET AspireRedis. Při párnásobné aktualizaci front-endu si všimnete, že se data o počasí ukládají do mezipaměti. Po několika sekundách se aktualizuje.

Nasaďte řídicí panel .NET.NET Aspire

Řídicí panel .NET.NET Aspire můžete nasadit jako součást hostované aplikace. Tato funkce je teď plně podporovaná. Při nasazování vytiskne výstupní protokoly azd další adresu URL nasazeného řídicího panelu.

Spuštěním azd monitor můžete řídicí panel automaticky spustit.

azd monitor

Vyčištění prostředků

Spuštěním následujícího příkazu rozhraní příkazového řádku Azure odstraňte skupinu prostředků, pokud už nepotřebujete Azure prostředky, které jste vytvořili. Odstraněním skupiny prostředků se odstraní také prostředky obsažené v této skupině.

az group delete --name <your-resource-group-name>

Další informace najdete v tématu Vyčištění prostředků v Azure.