Tutorial: Membangun dan menyebarkan aplikasi Anda ke Azure Container Apps
Artikel ini menunjukkan cara membangun dan menyebarkan layanan mikro ke Azure Container Apps dari repositori sumber menggunakan bahasa pemrograman pilihan Anda.
Ini adalah tutorial pertama dalam rangkaian artikel yang memancang Anda tentang cara menggunakan kemampuan inti dalam Azure Container Apps. Langkah pertama adalah membuat layanan API web back end yang mengembalikan koleksi statis album musik.
Catatan
Anda juga dapat membuat dan menyebarkan aplikasi ini menggunakan az containerapp dengan mengikuti instruksi di Mulai Cepat: Membangun dan menyebarkan aplikasi ke Azure Container Apps dari artikel repositori . Perintah ini az containerapp up
adalah cara cepat dan mudah untuk membangun dan menyebarkan aplikasi Anda ke Azure Container Apps menggunakan satu perintah. Namun, ini tidak menyediakan tingkat kustomisasi yang sama untuk aplikasi kontainer Anda.
Tutorial berikutnya dalam seri ini akan membangun dan menyebarkan aplikasi web ujung depan ke Azure Container Apps.
Cuplikan layar berikut menunjukkan output dari API album yang disebarkan dalam tutorial ini.
Prasyarat
Untuk menyelesaikan proyek ini, Anda memerlukan item berikut:
Persyaratan | Petunjuk |
---|---|
Akun Azure | Jika Anda tidak memilikinya, buat akun secara gratis. Anda memerlukan izin Administrator Akses Pengguna atau Pemilik pada langganan Azure untuk melanjutkan. Pastikan untuk menggunakan peran yang paling ketat untuk konteks Anda. Lihat Menetapkan peran Azure menggunakan peran portal Azure dan Azure, peran Microsoft Entra, dan peranadministrator langganan klasik untuk detailnya. |
Akun GitHub | Mendaftar secara gratis. |
git | Instal git |
Azure CLI | Instal Azure CLI. |
Persyaratan | Petunjuk |
---|---|
Akun Azure | Jika Anda tidak memilikinya, buat akun secara gratis. Anda memerlukan izin Kontributor atau Pemilik pada langganan Azure untuk melanjutkan. Lihat Menetapkan peran Azure menggunakan portal Azure untuk detailnya. |
Akun GitHub | Mendaftar secara gratis. |
git | Instal git |
Azure CLI | Instal Azure CLI. |
Desktop Docker | Docker menyediakan alat penginstal yang mengonfigurasi lingkungan Docker di macOS, Windows, dan Linux. Dari prompt perintah Anda, ketik docker untuk memastikan Docker berjalan. |
Siapkan
Untuk masuk ke Azure dari CLI, jalankan perintah berikut dan ikuti perintah untuk menyelesaikan proses autentikasi.
az login
Untuk memastikan Anda menjalankan CLI versi terbaru, jalankan perintah peningkatan.
az upgrade
Selanjutnya, instal atau perbarui ekstensi Azure Container Apps untuk CLI.
Jika Anda menerima kesalahan tentang parameter yang hilang saat menjalankan az containerapp
perintah di Azure CLI atau cmdlet dari Az.App
modul di PowerShell, pastikan Anda memiliki versi terbaru ekstensi Azure Container Apps yang diinstal.
az extension add --name containerapp --upgrade
Catatan
Mulai Mei 2024, ekstensi Azure CLI tidak lagi mengaktifkan fitur pratinjau secara default. Untuk mengakses fitur pratinjau Container Apps, instal ekstensi Container Apps dengan --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App
namespace layanan dan Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Membuat variabel lingkungan
Setelah penyiapan Azure CLI selesai, Anda dapat menentukan variabel lingkungan yang digunakan di seluruh artikel ini.
Tentukan variabel berikut dalam shell bash Anda.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
Sebelum Anda menjalankan perintah ini, pastikan untuk mengganti <YOUR_GITHUB_USERNAME>
dengan nama pengguna GitHub Anda.
Selanjutnya, tentukan nama registri kontainer yang unik untuk Anda.
ACR_NAME="acaalbums"$GITHUB_USERNAME
Menyiapkan repositori GitHub
Navigasi ke repositori untuk bahasa pilihan Anda dan fork repositori.
Pilih tombol Fork di bagian atas repositori API album untuk membuat fork repositori ke akun Anda.
Sekarang Anda dapat mengkloning fork repositori sampel Anda.
Gunakan perintah git berikut untuk mengkloning repositori fork Anda ke folder code-to-cloud :
git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud
Selanjutnya, ubah direktori menjadi akar repositori kloning.
cd code-to-cloud/src
Membuat Grup Sumber Daya Azure
Buat grup sumber daya untuk mengatur layanan yang terkait dengan penyebaran aplikasi kontainer Anda.
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
Membuat Azure Container Registry
Setelah gambar kontainer API album dibuat, buat instans Azure Container Registry (ACR) di grup sumber daya Anda untuk menyimpannya.
az acr create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $ACR_NAME \ --sku Basic
Registri kontainer Anda harus mengizinkan token audiens Azure Resource Manager (ARM) untuk autentikasi agar dapat menggunakan identitas terkelola untuk menarik gambar.
Gunakan perintah berikut untuk memeriksa apakah token ARM diizinkan untuk mengakses Azure Container Registry (ACR) Anda.
az acr config authentication-as-arm show --registry "$ACR_NAME"
Jika token ARM diizinkan, perintah akan menghasilkan yang berikut.
{ "status": "enabled" }
status
Jika adalahdisabled
, izinkan token ARM dengan perintah berikut.az acr config authentication-as-arm update --registry "$ACR_NAME" --status enabled
Membuat identitas terkelola yang ditetapkan pengguna
Untuk menghindari penggunaan kredensial administratif, tarik gambar dari repositori privat di Microsoft Azure Container Registry menggunakan identitas terkelola untuk autentikasi. Jika memungkinkan, gunakan identitas terkelola yang ditetapkan pengguna untuk menarik gambar.
Buat identitas terkelola yang ditetapkan pengguna. Sebelum Anda menjalankan perintah berikut, pilih nama untuk identitas terkelola
\<PLACEHOLDER\>
Anda dan ganti dengan nama.IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP
Dapatkan ID sumber daya identitas.
IDENTITY_ID=$(az identity show \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Bangun aplikasi Anda
Dengan tugas ACR, Anda dapat membangun dan mendorong gambar docker untuk API album tanpa menginstal Docker secara lokal.
Membangun kontainer dengan ACR
Jalankan perintah berikut untuk memulai proses pembuatan dan pendorongan gambar menggunakan ACR.
.
Di akhir perintah mewakili konteks build docker, yang berarti perintah ini harus dijalankan dalam folder src tempat Dockerfile berada.
az acr build --registry $ACR_NAME --image $API_NAME .
Output dari az acr build
perintah menunjukkan kemajuan pengunggahan kode sumber ke Azure dan detail docker build
operasi dan docker push
.
Bangun aplikasi Anda
Langkah-langkah berikut menunjukkan cara membangun gambar kontainer Anda secara lokal menggunakan Docker dan mendorong gambar ke registri kontainer baru.
Membangun kontainer dengan Docker
Perintah berikut membangun gambar kontainer untuk API album dan menandainya dengan nama server login ACR yang sepenuhnya memenuhi syarat.
.
Di akhir perintah mewakili konteks build docker, yang berarti perintah ini harus dijalankan dalam folder src tempat Dockerfile berada.
docker build --tag $ACR_NAME.azurecr.io/$API_NAME .
Dorong gambar ke registri kontainer Anda
Pertama, masuk ke Azure Container Registry Anda.
az acr login --name $ACR_NAME
Sekarang, dorong gambar ke registri Anda.
docker push $ACR_NAME.azurecr.io/$API_NAME
Membuat lingkungan Aplikasi Kontainer
Lingkungan Azure Container Apps bertindak sebagai batas aman di sekitar sekelompok aplikasi kontainer.
Buat lingkungan Container Apps menggunakan perintah berikut.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Menyebarkan gambar Anda ke aplikasi kontainer
Setelah membuat lingkungan, Anda dapat membuat dan menyebarkan aplikasi kontainer dengan az containerapp create
perintah .
Buat dan sebarkan aplikasi kontainer Anda dengan perintah berikut.
az containerapp create \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $ACR_NAME.azurecr.io/$API_NAME \
--target-port 8080 \
--ingress external \
--registry-server $ACR_NAME.azurecr.io \
--user-assigned "$IDENTITY_ID" \
--registry-identity "$IDENTITY_ID" \
--query properties.configuration.ingress.fqdn
Dengan mengatur
--ingress
keexternal
, aplikasi kontainer Anda dapat diakses dari internet publik.target-port
diatur ke8080
agar sesuai dengan port yang didengarkan kontainer untuk permintaan.query
Tanpa properti, panggilan untukaz containerapp create
mengembalikan respons JSON yang menyertakan serangkaian detail yang kaya tentang aplikasi. Menambahkan parameter kueri memfilter output hanya ke nama domain aplikasi yang sepenuhnya memenuhi syarat (FQDN).Perintah ini menambahkan peran ke
acrPull
identitas terkelola yang ditetapkan pengguna Anda, sehingga dapat menarik gambar dari registri kontainer Anda.
Verifikasi penyebaran
Salin FQDN ke browser web. Dari browser web Anda, navigasikan ke /albums
titik akhir FQDN.
Membersihkan sumber daya
Jika Anda tidak akan melanjutkan ke tutorial Komunikasi antara layanan mikro , Anda dapat menghapus sumber daya Azure yang dibuat selama mulai cepat ini. Jalankan perintah berikut untuk menghapus grup sumber daya bersama dengan semua sumber daya yang dibuat dalam mulai cepat ini.
az group delete --name $RESOURCE_GROUP
Tip
Mengalami masalah? Beri tahu kami di GitHub dengan membuka masalah di repositori Azure Container Apps.
Langkah berikutnya
Mulai cepat ini adalah titik masuk untuk serangkaian tutorial progresif yang menampilkan berbagai fitur dalam Azure Container Apps. Lanjutkan untuk mempelajari cara mengaktifkan komunikasi dari front end web yang memanggil API yang Anda sebarkan dalam artikel ini.