Udostępnij przez


Wdróż projekt Aspire w Azure Container Apps

Aspire projekty są przeznaczone do uruchamiania w środowiskach konteneryzowanych. Azure Container Apps to w pełni zarządzane środowisko, które umożliwia uruchamianie mikrousług i konteneryzowanych aplikacji na platformie bezserwerowej. Ten artykuł przeprowadzi Cię przez proces tworzenia nowego Aspire rozwiązania i wdrażania go do Microsoft Azure Container Apps przy użyciu Azure Developer CLI (azd). Dowiesz się, jak wykonać następujące zadania:

  • Utwórz grupę Azure zasobów i rejestr kontenerów
  • Aspire Publikowanie projektów jako obrazów kontenerów w usłudze Azure Container Registry
  • Redis Przygotuj kontener w Azure
  • Wdróż aplikacje w Azure Container Apps środowisku
  • Wyświetlanie dzienników konsoli aplikacji w celu rozwiązywania problemów z aplikacją

Wymagania wstępne

Do pracy z Aspireprogramem potrzebne są następujące elementy zainstalowane lokalnie:

Aby uzyskać więcej informacji, zobacz Aspire konfigurowanie i narzędzia oraz Aspire zestaw SDK.

Alternatywą dla tego samouczka i bardziej szczegółowym przewodnikiem jest „Przewodnik szczegółowy: Jak wdrożyć projekt Aspire na Azure Container Apps przy użyciu azd.

Wdrażanie Aspire projektów z azd

Dzięki funkcjom Aspire i Azure Container Apps (ACA) masz doskonały scenariusz hostingu umożliwiający tworzenie aplikacji natywnych dla chmury za pomocą usługi .NET. Utworzyliśmy kilka wspaniałych nowych funkcji w Azure Developer CLI (azd), które specjalnie ułatwiają tworzenie i wdrażanie Aspire do Azure, zapewniając bezproblemowe doświadczenie. W przypadku scenariuszy produkcyjnych, które wymagają szczegółowej kontroli nad infrastrukturą, zobacz Dostosowywanie AspireAzure wdrożeń. Jednak w przypadku nowych projektów nie znajdziesz łatwiejszej ścieżki do pomyślnego wdrożenia nowej topologii mikrousług w chmurze.

Aspire Tworzenie projektu

Jako punkt wyjścia w tym artykule przyjęto, że utworzyłeś projekt Aspire na podstawie szablonu Aspire aplikacji początkowej. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pierwszego Aspire projektu.

Nazewnictwo zasobów

Podczas tworzenia nowych Azure zasobów ważne jest, aby spełnić wymagania dotyczące nazewnictwa. W przypadku Azure Container Appsparametru nazwa musi mieć długość od 2 do 32 znaków i składać się z małych liter, cyfr i łączników. Nazwa musi zaczynać się literą i kończyć znakiem alfanumerycznym.

Aby uzyskać więcej informacji, zobacz Naming rules and restrictions for resources (Reguły i ograniczenia nazewnictwa zasobówAzure).

Zainstaluj Azure Developer CLI

Proces instalowania azd różni się w zależności od systemu operacyjnego, ale jest on powszechnie dostępny za pośrednictwem winget, brew, apt lub bezpośrednio za pośrednictwem curl. Aby zainstalować program azd, zobacz Instalowanie Azure Developer CLIprogramu .

Inicjowanie szablonu

  1. Otwórz nowe okno terminalu i cd przejdź do katalogu swojego rozwiązania Aspire.

  2. Wykonaj polecenie azd init, aby zainicjować projekt przy użyciu azd, co spowoduje sprawdzenie struktury katalogów lokalnych i określenie typu aplikacji.

    azd init
    

    Aby uzyskać więcej informacji na temat polecenia azd init, zobacz azd init.

  3. Wybierz Użyj kodu w bieżącym kataloguazd, gdy zostanie wyświetlony monit z trzema opcjami inicjowania aplikacji.

    ? 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. Po przeskanowaniu katalogu azd zostanie wyświetlony monit o potwierdzenie znalezienia poprawnego Aspire projektu AppHost. Wybierz opcję Potwierdź i kontynuuj inicjowanie mojej aplikacji.

    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. Wprowadź nazwę środowiska, która będzie używana do nazywania aprowizowanych zasobów w Azure oraz zarządzania różnymi środowiskami, takimi jak dev i 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 generuje wiele plików i umieszcza je w katalogu roboczym. Są to następujące pliki:

  • azure.yaml: opisuje usługi aplikacji, takie jak projekt Aspire AppHost, i mapuje je na zasoby Azure.
  • .azure/config.json: plik konfiguracyjny informujący azd, jakie jest bieżące aktywne środowisko.
  • .azure/aspireazddev/.env: zawiera przesłonięcia specyficzne dla środowiska.

Wdrażanie szablonu

  1. azd Gdy szablon zostanie zainicjowany, proces aprowizacji i wdrożenia można uruchomić jako pojedyncze polecenie w katalogu projektu AppHost przy użyciu azd up:

    azd up
    
  2. Wybierz subskrypcję, do której chcesz wdrożyć, z listy dostępnych opcji:

    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. Wybierz żądaną Azure lokalizację, która ma być używana z listy dostępnych opcji:

    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)
    

Po dokonaniu wyboru, azd wykonuje proces przygotowania i wdrażania.

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.

Polecenie azd up działa jako nadrzędna funkcja dla następujących pojedynczych azd poleceń, aby aprowizować i wdrażać zasoby w jednym kroku.

  1. azd package: projekty aplikacji i ich zależności są pakowane w kontenery.
  2. azd provision: Zasoby Azure, których aplikacja potrzebuje, są przygotowane.
  3. azd deploy: Projekty są wypychane jako kontenery do instancji Azure Container Registry, a następnie wykorzystywane do tworzenia nowych wersji Azure Container Apps, w których będzie hostowany kod.

Po zakończeniu azd up etapów aplikacja będzie dostępna w witrynie Azure, i możesz otworzyć portal Azure aby eksplorować zasoby. azd Zwraca również adresy URL w celu uzyskania bezpośredniego dostępu do wdrożonych aplikacji.

Testowanie wdrożonej aplikacji

Teraz, gdy aplikacja została aprowizowana i wdrożona, możesz przejść do Azure portalu. W grupie zasobów, w której wdrożono aplikację, zobaczysz trzy aplikacje kontenera i inne zasoby.

Zrzut ekranu przedstawiający grupę Aspire zasobów projektu w Azure portalu.

Kliknij aplikację kontenera web , aby otworzyć ją w portalu.

Zrzut ekranu frontonu Aspire projektu w Azure portalu.

Kliknij link Adres URL aplikacji , aby otworzyć fronton w przeglądarce.

Zrzut ekranu frontonu Aspire projektu w przeglądarce.

Po kliknięciu węzła "Pogoda" na pasku nawigacyjnym aplikacja interfejsu użytkownika web wywołuje aplikację kontenera apiservice w celu uzyskania danych. Dane wyjściowe interfejsu będą buforowane przy użyciu aplikacji kontenerowej redis i AspireRedis integracji buforowania wyjściowego. Podczas odświeżania frontonu kilka razy zauważysz, że dane pogodowe są buforowane. Zostanie ona zaktualizowana po kilku sekundach.

Wdrażaj pulpit nawigacyjny Aspire

Panel kontrolny można wdrożyć Aspire w ramach hostowanej aplikacji. Ta funkcja jest teraz w pełni obsługiwana. Podczas wdrażania dzienniki wyjściowe azd wyświetlają dodatkowy adres URL do zainstalowanego pulpitu nawigacyjnego.

Możesz uruchomić polecenie azd monitor , aby automatycznie uruchomić pulpit nawigacyjny.

azd monitor

Uprzątnij zasoby

Uruchom następujące polecenie interfejsu wiersza polecenia Azure, aby usunąć grupę zasobów, gdy zasoby, które utworzyłeś Azure, przestały być potrzebne. Usunięcie grupy zasobów powoduje również usunięcie zawartych w niej zasobów.

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

Aby dowiedzieć się więcej, zobacz Czyszczenie zasobów w Azure.