Bagikan melalui


Menyebarkan proyek .NET Aspire ke Azure Container Apps

.NET .NET Aspire proyek dirancang untuk berjalan di lingkungan kontainer. Azure Container Apps adalah lingkungan terkelola penuh yang memungkinkan Anda menjalankan layanan mikro dan aplikasi dalam kontainer pada platform tanpa server. Artikel ini akan memanmbing Anda membuat solusi .NET Aspire baru dan menyebarkannya ke Microsoft Azure Container Apps menggunakan Azure Developer CLI (azd). Anda akan mempelajari cara menyelesaikan tugas berikut:

  • Memprovisikan grup sumber daya Azure dan Container Registry
  • Menerbitkan proyek .NET Aspire sebagai gambar kontainer di Azure Container Registry
  • Menyediakan kontainer Redis di Azure
  • Menyebarkan aplikasi ke lingkungan Azure Container Apps
  • Melihat log konsol aplikasi untuk memecahkan masalah aplikasi

Prasyarat

Untuk bekerja dengan .NET.NET Aspire, Anda memerlukan hal berikut yang diinstal secara lokal:

Untuk informasi selengkapnya, lihat penyiapan dan alat .NET.NET Aspire, dan .NET.NET Aspire SDK.

Sebagai alternatif untuk tutorial ini dan untuk panduan yang lebih mendalam, lihat Menyebarkan proyek .NET Aspire untuk Azure Container Apps menggunakan azd (panduan mendalam).

Menyebarkan proyek .NET.NET Aspire dengan azd

Dengan .NET Aspire dan Azure Container Apps (ACA), Anda memiliki skenario hosting yang bagus untuk membangun aplikasi cloud-native Anda dengan .NET. Kami membangun beberapa fitur baru yang hebat ke dalam Azure Developer CLI (azd) yang dirancang khusus untuk memastikan pengembangan dan penyebaran .NET Aspire ke Azure berjalan dengan lancar. Anda masih dapat menggunakan opsi Azure CLI dan/atau Bicep saat Anda memerlukan tingkat kontrol terperinci atas penyebaran Anda. Namun, untuk proyek baru, Anda tidak akan menemukan cara yang lebih mudah untuk berhasil mendapatkan topologi mikroservis yang baru diterapkan ke cloud.

Membuat proyek .NET.NET Aspire

Sebagai titik awal, artikel ini mengasumsikan bahwa Anda telah membuat proyek dari templat Aplikasi Pemula . Untuk informasi selengkapnya, lihat Panduan Cepat : Membuat proyek .NET.NET Aspire pertama Anda.

Penamaan sumber daya

Saat Anda membuat sumber daya Azure baru, penting untuk mengikuti persyaratan penamaan. Untuk Azure Container Apps, panjang nama harus 2-32 karakter dan terdiri dari huruf kecil, angka, dan tanda hubung. Nama harus dimulai dengan huruf dan diakhir dengan karakter alfanumerik.

Untuk informasi selengkapnya, lihat aturan dan pembatasan penamaan untuk sumber daya Azure.

Menginstal Azure Developer CLI

Proses untuk menginstal azd bervariasi berdasarkan sistem operasi Anda, tetapi tersedia secara luas melalui winget, brew, apt, atau langsung melalui curl. Untuk menginstal azd, lihat Instal Azure Developer CLI.

Menginisialisasi templat

  1. Buka jendela terminal baru dan masukkan perintah cd ke dalam direktori solusi .NET.NET Aspire Anda.

  2. Jalankan perintah azd init untuk menginisialisasi proyek Anda dengan azd, yang akan memeriksa struktur direktori lokal dan menentukan jenis aplikasi.

    azd init
    

    Untuk informasi selengkapnya tentang perintah azd init, lihat azd init.

  3. Pilih Gunakan kode di direktori saat ini ketika azd memberi Anda dua opsi inisialisasi aplikasi.

    ? 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. Setelah memindai direktori, azd meminta Anda untuk mengonfirmasi bahwa itu telah menemukan proyek .NET.NET AspireAppHost yang benar. Pilih opsi Konfirmasi dan lanjutkan menginisialisasi aplikasi saya.

    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. Masukkan nama lingkungan, yang digunakan untuk memberi nama sumber daya yang disediakan di Azure dan mengelola lingkungan yang berbeda seperti dev dan 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 menghasilkan sejumlah file dan menempatkannya ke dalam direktori kerja. File-file ini adalah:

  • azure.yaml: Menjelaskan layanan dari aplikasi, seperti proyek .NET Aspire AppHost, dan memetakan layanan tersebut ke sumber daya Azure.
  • .azure/config.json: File konfigurasi yang menginformasikan azd apa lingkungan aktif saat ini.
  • .azure/aspireazddev/.env : Berisi penyesuaian khusus lingkungan.

Menyebarkan templat

  1. Setelah templat azd diinisialisasi, proses provisi dan penyebaran dapat dijalankan sebagai perintah tunggal dari direktori proyek AppHost menggunakan azd up:

    azd up
    
  2. Pilih langganan yang ingin Anda sebarkan dari daftar opsi yang tersedia:

    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. Pilih lokasi Azure yang diinginkan untuk digunakan dari daftar opsi yang tersedia:

    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)
    

Setelah Anda membuat pilihan, azd menjalankan proses provisi dan penyebaran.

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.

Perintah azd up bertindak sebagai pembungkus untuk perintah azd individu berikut untuk menyediakan dan menyebarkan sumber daya Anda dalam satu langkah:

  1. azd package: Proyek aplikasi dan dependensinya dikemas ke dalam kontainer.
  2. azd provision: Sumber daya Azure yang dibutuhkan aplikasi disediakan.
  3. azd deploy: Proyek dimasukkan sebagai kontainer ke dalam instans Azure Container Registry, lalu digunakan untuk membuat revisi baru dari Azure Container Apps tempat kode akan dihosting.

Setelah tahap azd up selesai, aplikasi Anda akan tersedia di Azure, dan Anda dapat membuka portal Azure untuk menjelajahi sumber daya. azd juga mengeluarkan URL untuk mengakses aplikasi yang disebarkan secara langsung.

Menguji aplikasi yang telah disebarkan

Setelah aplikasi disediakan dan disebarkan, Anda dapat menelusuri ke portal Azure. Di grup sumber daya tempat Anda menyebarkan aplikasi, Anda akan melihat tiga aplikasi kontainer dan sumber daya lainnya.

Cuplikan layar grup sumber daya proyek .NET Aspire di portal Azure.

Klik aplikasi kontainer web untuk membukanya di portal.

Cuplikan layar front end proyek .NET Aspire di portal Azure.

Klik tautan URL Aplikasi untuk membuka front end di browser.

Cuplikan layar front end proyek .NET.NET Aspire di browser.

Saat Anda mengklik simpul "Cuaca" di bilah navigasi, antarmuka depan web aplikasi kontainer melakukan panggilan ke aplikasi kontainer apiservice untuk mendapatkan data. Output dari front end akan di-cache menggunakan aplikasi kontainer redis dan integrasi Output Caching .NET AspireRedis. Saat Anda menyegarkan antarmuka beberapa kali, Anda akan melihat bahwa data cuaca disimpan dalam cache. Ini akan diperbarui setelah beberapa detik.

Menyebarkan Dasbor .NET.NET Aspire

Anda dapat menerapkan dasbor .NET.NET Aspire sebagai bagian dari aplikasi yang dihosting. Fitur ini sekarang didukung penuh. Saat menyebarkan, log output azd menampilkan URL tambahan dari dasbor yang telah disebarkan.

Anda dapat menjalankan azd monitor untuk meluncurkan dasbor secara otomatis.

azd monitor

Membersihkan sumber daya

Jalankan perintah CLI Azure berikut untuk menghapus grup sumber daya saat Anda tidak lagi memerlukan sumber daya Azure yang Anda buat. Menghapus grup sumber daya juga menghapus sumber daya yang terkandung di dalamnya.

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

Untuk informasi selengkapnya, lihat Membersihkan sumber daya di Azure.