Dela via


Distribuera ett Aspire projekt till Azure Container Apps

Aspire projekt är utformade för att köras i containerbaserade miljöer. Azure Container Apps är en fullständigt hanterad miljö som gör att du kan köra mikrotjänster och containerbaserade program på en serverlös plattform. Den här artikeln beskriver hur du skapar en ny Aspire lösning och distribuerar den till Microsoft Azure Container Apps med hjälp av Azure Developer CLI (azd). Du får lära dig hur du utför följande uppgifter:

  • Etablera en Azure resursgrupp och containerregister
  • Aspire Publicera projekten som containeravbildningar i Azure Container Registry
  • Etablera en Redis kontainer i Azure
  • Distribuera apparna till en Azure Container Apps miljö
  • Visa programkonsolloggar för att felsöka programproblem

Förutsättningar

För att arbeta med Aspirebehöver du följande installerat lokalt:

För mer information, se Aspire konfiguration och verktyg och Aspire SDK.

Ett alternativ till den här självstudien och en mer djupgående guide finns i Distribuera ett Aspire projekt till Azure Container Apps med hjälp av azd (djupgående guide).

Distribuera Aspire projekt med azd

Med Aspire och Azure Container Apps (ACA) har du ett bra värdscenario för att skapa dina molnbaserade appar med .NET. Vi har byggt in några utmärkta nya funktioner i Azure Developer CLI (azd) som är specifika för att göra utveckling och distribution av Aspire till Azure till en friktionsfri upplevelse. Information om produktionsscenarier som kräver detaljerad kontroll över infrastrukturen finns i Anpassa AspireAzure distributioner. Men för nya projekt hittar du ingen enklare väg till framgång för att få en ny mikrotjänsttopologi distribuerad till molnet.

Skapa ett Aspire projekt

Som utgångspunkt förutsätter den här artikeln att du har skapat ett Aspire projekt från mallen Aspire Startprogram . Mer information finns i Snabbstart: Skapa ditt första Aspire projekt.

Resursnamngivning

När du skapar nya Azure resurser är det viktigt att följa namngivningskraven. För Azure Container Appsmåste namnet vara 2–32 tecken långt och bestå av gemener, siffror och bindestreck. Namnet måste börja med en bokstav och sluta med ett alfanumeriskt tecken.

Mer information finns i Namngivningsregler och begränsningar för Azure resurser.

Installera Azure Developer CLI

Installationsprocessen azd varierar beroende på ditt operativsystem, men den är allmänt tillgänglig via winget, brew, apteller direkt via curl. För att installera azd, se Installera Azure Developer CLI.

Initiera mallen

  1. Öppna ett nytt terminalfönster och kör cd för att navigera till katalogen för din Aspire lösning.

  2. Kör kommandot azd init för att initiera projektet med azd, som kommer att granska den lokala katalogstrukturen och fastställa typen av app.

    azd init
    

    Mer information om kommandot azd init finns i azd init.

  3. Välj Använd kod i den aktuella katalogen när azd du uppmanas att använda tre alternativ för appinitiering.

    ? 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 project
    
  4. När du har genomsökt katalogen azd uppmanas du att bekräfta att den hittade rätt AspireAppHost-projekt . Välj alternativet Bekräfta och fortsätt initiera min app.

    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. Ange ett miljönamn som används för att namnge etablerade resurser i Azure och hantera olika miljöer, till exempel dev och 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 genererar ett antal filer och placerar dem i arbetskatalogen. Dessa filer är:

  • azure.yaml: Beskriver tjänsterna i appen, till exempel Aspire AppHost-projekt, och mappar dem till Azure resurser.
  • .azure/config.json: Konfigurationsfil som informerar azd vad den aktuella aktiva miljön är.
  • .azure/aspireazddev/.env: Innehåller miljöspecifika åsidosättningar.

Använd mallen

  1. När en azd mall har initierats kan etablerings- och distributionsprocessen köras som ett enda kommando från AppHost-projektkatalogen med azd up:

    azd up
    
  2. Välj den prenumeration som du vill distribuera till i listan över tillgängliga alternativ:

    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)
    
  3. Välj önskad Azure plats att använda i listan över tillgängliga alternativ:

    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)
    

När du har valt azd kör du etablerings- och distributionsprocessen.

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.

Kommandot azd up fungerar som omslutning för följande enskilda azd kommandon för att etablera och distribuera dina resurser i ett enda steg:

  1. azd package: Appprojekten och deras beroenden paketeras i containrar.
  2. azd provision: De Azure resurser som appen behöver tillhandahålls.
  3. azd deploy: Projekten skickas som containrar till en Azure Container Registry-instans och används sedan för att skapa nya revisioner av Azure Container Apps där koden kommer att finnas.

azd up När stegen är klara blir din app tillgänglig på Azureoch du kan öppna portalen Azure för att utforska resurserna. azd matar också ut URL:er för att komma åt de distribuerade apparna direkt.

Testa den driftsatta appen

Nu när appen har etablerats och distribuerats kan du gå till portalen Azure. I resursgruppen där du distribuerade appen visas de tre containerapparna och andra resurser.

En skärmbild av Aspire projektets resursgrupp i portalen Azure .

Klicka på containerappen web för att öppna den i portalen.

En skärmbild av Aspire-projektets framsida i Azure-portalen.

Klicka på länken Program-URL för att öppna klientdelen i webbläsaren.

En skärmbild av Aspire projektets klientdel i webbläsaren.

När du klickar på Väder-noden i navigeringsfältet gör frontendscontainerappen web en anrop till containerappen apiservice för att hämta data. Frontendens utdata kommer att cachelagras med hjälp av redis containerappen och utdatacacheintegreringenAspireRedis. När du uppdaterar klientdelen några gånger ser du att väderdata cachelagras. Den uppdateras efter några sekunder.

Aspire Aktivera instrumentpanelen

Du kan distribuera Aspire instrumentpanelen som en del av din värdbaserade app. Den här funktionen stöds nu fullt ut. När du distribuerar skriver azd-utdataloggarna ut ytterligare en URL till den distribuerade informationspanelen.

Du kan köra azd monitor för att automatiskt starta instrumentpanelen.

azd monitor

Rensa resurser

Kör följande Azure CLI-kommando för att ta bort resursgruppen när du inte längre behöver de Azure resurser som du skapade. Om du tar bort resursgruppen tas även de resurser som ingår i den bort.

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

Mer information finns i Rensa resurser i Azure.