Penarikan Gambar Azure Container Apps dengan identitas terkelola
Anda dapat menarik gambar dari repositori privat di Microsoft Azure Container Registry menggunakan identitas terkelola untuk autentikasi guna menghindari penggunaan kredensial administratif.
Anda dapat menggunakan identitas terkelola yang ditetapkan pengguna atau ditetapkan sistem untuk mengautentikasi dengan Azure Container Registry.
- Dengan identitas terkelola yang ditetapkan pengguna, Anda membuat dan mengelola identitas di luar Azure Container Apps. Ini dapat ditetapkan ke beberapa sumber daya Azure, termasuk Azure Container Apps.
- Dengan identitas terkelola yang ditetapkan sistem, identitas dibuat dan dikelola oleh Azure Container Apps. Ini terkait dengan aplikasi kontainer Anda dan dihapus saat aplikasi Anda dihapus.
- Jika memungkinkan, Anda harus menggunakan identitas terkelola yang ditetapkan pengguna untuk menarik gambar.
Container Apps memeriksa versi baru gambar setiap kali kontainer dimulai. Dalam terminologi Docker atau Kubernetes, Container Apps mengatur kebijakan penarikan gambar setiap kontainer ke always
.
Artikel ini menjelaskan cara menggunakan portal Azure untuk mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola yang ditetapkan pengguna dan ditetapkan sistem untuk menarik gambar dari repositori Azure Container Registry privat.
Identitas terkelola yang ditetapkan pengguna
Langkah-langkah berikut menjelaskan proses untuk mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola yang ditetapkan pengguna untuk menarik gambar dari repositori Azure Container Registry privat.
- Buat aplikasi kontainer dengan gambar publik.
- Tambahkan identitas terkelola yang ditetapkan pengguna ke aplikasi kontainer.
- Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan pengguna.
Prasyarat
Akun Azure dengan langganan aktif.
- Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
Azure Container Registry privat yang berisi gambar yang ingin Anda tarik.
Azure Container Registry Anda harus mengizinkan token audiens ARM untuk autentikasi agar dapat menggunakan identitas terkelola untuk menarik gambar. Gunakan perintah berikut untuk memeriksa apakah token ARM diizinkan untuk mengakses ACR Anda:
az acr config authentication-as-arm show -r <REGISTRY>
Jika token ARM tidak diizinkan, Anda dapat mengizinkannya dengan perintah berikut:
az acr config authentication-as-arm update -r <REGISTRY> --status enabled
Buat identitas terkelola yang ditetapkan pengguna. Untuk informasi selengkapnya, lihat Membuat identitas terkelola yang ditetapkan pengguna.
Membuat aplikasi kontainer
Gunakan langkah-langkah berikut untuk membuat aplikasi kontainer dengan gambar mulai cepat default.
Navigasi ke halaman Beranda portal.
Cari Aplikasi Kontainer di bilah pencarian teratas.
Pilih Aplikasi Kontainer di hasil pencarian.
Pilih tombol Buat.
Pada tab Dasar, lakukan hal berikut.
Pengaturan Tindakan Langganan Pilih langganan Azure Anda. Grup sumber daya Pilih grup sumber daya yang sudah ada atau buat yang baru. Nama aplikasi kontainer Masukkan nama aplikasi kontainer. Location Pilih lokasi. Membuat Lingkungan Aplikasi Kontainer Buat baru atau pilih lingkungan yang sudah ada. Pilih tombol Tinjau + Buat di bagian bawah halaman Buat Aplikasi Kontainer.
Pilih tombol Buat di bagian bawah jendela Buat Aplikasi Kontainer.
Izinkan beberapa menit agar penyebaran aplikasi kontainer selesai. Setelah penyebaran selesai, pilih Kembali ke sumber daya.
Menambahkan identitas terkelola yang ditetapkan pengguna
- Pilih Identitas dari menu sebelah kiri.
- Memilih tab Pengguna yang ditetapkan.
- Pilih tombol Tambahkan identitas terkelola yang ditetapkan pengguna.
- Pilih langganan Anda.
- Pilih identitas yang Anda buat.
- Pilih Tambahkan.
Membuat revisi aplikasi kontainer
Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan sistem.
Pilih Manajemen Revisi dari menu sebelah kiri.
Pilih Buat revisi baru.
Pilih gambar kontainer dari tabel Gambar Kontainer.
Masukkan informasi dalam dialog Edit kontainer .
Bidang Perbuatan Nama Masukkan nama untuk kontainer. Sumber gambar Pilih Azure Container Registry. Autentikasi Pilih Identitas Terkelola. Identitas Pilih identitas yang Anda buat dari menu drop-down. Registri Pilih registri yang ingin Anda gunakan dari menu drop-down. Gambar Masukkan nama gambar yang ingin Anda gunakan. Tag Gambar Masukkan nama dan tag gambar yang ingin Anda tarik. Catatan
Jika kredensial administratif tidak diaktifkan pada registri Azure Container Registry Anda, Anda akan melihat pesan peringatan ditampilkan dan Anda harus memasukkan nama gambar dan informasi tag secara manual.
Pilih Simpan.
Pilih Buat dari halaman Buat dan sebarkan revisi baru.
Revisi baru akan dibuat dan disebarkan. Portal akan secara otomatis mencoba menambahkan acrpull
peran ke identitas terkelola yang ditetapkan pengguna. Jika peran tidak ditambahkan, Anda dapat menambahkannya secara manual.
Anda dapat memverifikasi bahwa peran ditambahkan dengan memeriksa identitas dari panel Identitas halaman aplikasi kontainer.
- Pilih Identitas dari menu sebelah kiri.
- Memilih tab Pengguna yang ditetapkan.
- Pilih identitas terkelola yang ditetapkan pengguna.
- Pilih Penetapan peran Azure dari menu di halaman sumber daya identitas terkelola.
- Verifikasi bahwa
acrpull
peran ditetapkan ke identitas terkelola yang ditetapkan pengguna.
Membuat aplikasi kontainer dengan gambar privat
Jika Anda tidak ingin memulai dengan membuat aplikasi kontainer dengan gambar publik, Anda juga dapat melakukan hal berikut.
- Buat identitas terkelola yang ditetapkan pengguna.
-
acrpull
Tambahkan peran ke identitas terkelola yang ditetapkan pengguna. - Buat aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan pengguna.
Metode ini khas dalam skenario Infrastruktur sebagai Kode (IaC).
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus instans Aplikasi Kontainer Azure dan semua layanan terkait dengan menghapus grup sumber daya.
Peringatan
Menghapus grup sumber daya akan menghapus semua sumber daya dalam grup. Jika Anda memiliki sumber daya lain dalam grup, sumber daya tersebut juga akan dihapus. Jika ingin menyimpan sumber daya, Anda dapat menghapus instans aplikasi kontainer dan lingkungan aplikasi kontainer.
- Pilih grup sumber daya Anda dari bagian Gambaran Umum .
- Pilih tombol Hapus grup sumber daya di bagian atas Gambaran Umum grup sumber daya.
- Masukkan nama grup sumber daya dalam dialog konfirmasi.
- Pilih Hapus. Proses untuk menghapus grup sumber daya mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Identitas terkelola yang ditetapkan sistem
Metode untuk mengonfigurasi identitas terkelola yang ditetapkan sistem di portal Azure sama dengan mengonfigurasi identitas terkelola yang ditetapkan pengguna. Satu-satunya perbedaan adalah Anda tidak perlu membuat identitas terkelola yang ditetapkan pengguna. Sebagai gantinya, identitas terkelola yang ditetapkan sistem dibuat saat Anda membuat aplikasi kontainer.
Metode untuk mengonfigurasi identitas terkelola yang ditetapkan sistem dalam portal Azure adalah:
- Buat aplikasi kontainer dengan gambar publik.
- Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan sistem.
Prasyarat
- Akun Azure dengan langganan aktif.
- Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
- Azure Container Registry privat yang berisi gambar yang ingin Anda tarik. Lihat Membuat Azure Container Registry privat.
Membuat aplikasi kontainer
Ikuti langkah-langkah ini untuk membuat aplikasi kontainer dengan gambar mulai cepat default.
Navigasi ke halaman Beranda portal.
Cari Aplikasi Kontainer di bilah pencarian teratas.
Pilih Aplikasi Kontainer di hasil pencarian.
Pilih tombol Buat.
Pada tab Dasar, lakukan hal berikut.
Pengaturan Tindakan Langganan Pilih langganan Azure Anda. Grup sumber daya Pilih grup sumber daya yang sudah ada atau buat yang baru. Nama aplikasi kontainer Masukkan nama aplikasi kontainer. Sumber penyebaran Biarkan ini diatur ke gambar Kontainer. Wilayah Pilih wilayah. Lingkungan Aplikasi Kontainer Pilih lingkungan yang sudah ada atau pilih Buat baru. Untuk informasi selengkapnya, lihat Lingkungan Azure Container Apps Pilih Berikutnya : Kontainer >.
Di tab Kontainer , aktifkan Gunakan gambar mulai cepat. Biarkan gambar Mulai Cepat diatur ke kontainer Halo dunia sederhana.
Pilih tombol Tinjau + Buat di bagian bawah halaman Buat Aplikasi Kontainer.
Pilih tombol Buat di bagian bawah halaman Buat Aplikasi Kontainer.
Izinkan beberapa menit agar penyebaran aplikasi kontainer selesai. Setelah penyebaran selesai, pilih Kembali ke sumber daya.
Mengedit dan menyebarkan revisi
Edit kontainer untuk menggunakan gambar dari Azure Container Registry privat Anda, dan konfigurasikan autentikasi untuk menggunakan identitas yang ditetapkan sistem.
Di Aplikasi, pilih Kontainer.
Di halaman Kontainer , pilih Edit dan sebarkan.
Pilih kontainer simple-hello-world-container dari daftar.
Di halaman Edit kontainer, lakukan tindakan berikut.
Pengaturan Tindakan Nama Masukkan nama aplikasi kontainer. Sumber gambar Pilih Azure Container Registry. Langganan Pilih langganan Azure Anda. Registri Pilih registri kontainer Anda. Gambar Masukkan nama gambar. Tag gambar Masukkan tag gambar. Jenis autentikasi Pilih Identitas terkelola. Identitas terkelola Pilih Sistem yang ditetapkan. Pilih Simpan di bagian bawah halaman.
Pilih Buat di bagian bawah halaman Buat dan sebarkan revisi baru
Setelah beberapa menit, pilih Refresh pada halaman Manajemen revisi untuk melihat revisi baru.
Revisi baru akan dibuat dan disebarkan. Portal akan secara otomatis mencoba menambahkan acrpull
peran ke identitas terkelola yang ditetapkan sistem. Jika peran tidak ditambahkan, Anda dapat menambahkannya secara manual.
Anda dapat memverifikasi bahwa peran telah ditambahkan dengan memeriksa identitas di panel Identitas halaman aplikasi kontainer.
- Pilih Identitas dari menu sebelah kiri.
- Pilih ke tab Sistem yang ditetapkan.
- Pilih penetapan peran Azure.
- Verifikasi bahwa
acrpull
peran ditetapkan ke identitas terkelola yang ditetapkan sistem.
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus instans Aplikasi Kontainer Azure dan semua layanan terkait dengan menghapus grup sumber daya.
Peringatan
Menghapus grup sumber daya akan menghapus semua sumber daya dalam grup. Jika Anda memiliki sumber daya lain dalam grup, sumber daya tersebut juga akan dihapus. Jika ingin menyimpan sumber daya, Anda dapat menghapus instans aplikasi kontainer dan lingkungan aplikasi kontainer.
- Pilih grup sumber daya Anda dari bagian Gambaran Umum .
- Pilih tombol Hapus grup sumber daya di bagian atas Gambaran Umum grup sumber daya.
- Masukkan nama grup sumber daya dalam dialog konfirmasi.
- Pilih Hapus. Proses untuk menghapus grup sumber daya mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Artikel ini menjelaskan cara mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola untuk menarik gambar dari repositori Azure Container Registry privat menggunakan Azure CLI dan Azure PowerShell.
Prasyarat
Prasyarat | Deskripsi |
---|---|
Akun Azure | Akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis. |
Azure CLI | Jika menggunakan Azure CLI, instal Azure CLI di komputer lokal Anda. |
Azure PowerShell | Jika menggunakan PowerShell, instal Azure PowerShell di komputer lokal Anda. Pastikan bahwa versi terbaru modul Az.App diinstal dengan menjalankan perintah Install-Module -Name Az.App . |
Azure Container Registry | Azure Container Registry privat yang berisi gambar yang ingin Anda tarik. Mulai cepat: Membuat registri kontainer privat menggunakan Azure CLI atau Mulai Cepat: Membuat registri kontainer privat menggunakan Azure PowerShell |
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
Selanjutnya, atur variabel lingkungan berikut. Ganti tempat penampung yang dikelilingi dengan <>
nilai Anda.
RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>"
LOCATION="<YOUR_LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<YOUR_ENVIRONMENT_NAME>"
REGISTRY_NAME="<YOUR_REGISTRY_NAME>"
CONTAINERAPP_NAME="<YOUR_CONTAINERAPP_NAME>"
IMAGE_NAME="<YOUR_IMAGE_NAME>"
Jika Anda sudah memiliki grup sumber daya, lewati langkah ini. Jika tidak, buat grup sumber daya.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Membuat lingkungan aplikasi kontainer
Jika lingkungan tidak ada, jalankan perintah berikut:
Untuk membuat lingkungan, jalankan perintah berikut:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Lanjutkan ke bagian berikutnya untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna atau lewati ke bagian Identitas terkelola yang ditetapkan sistem.
Identitas terkelola yang ditetapkan pengguna
Ikuti prosedur ini untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna:
- Buat identitas terkelola yang ditetapkan pengguna.
- Jika Anda menggunakan PowerShell, tetapkan
acrpull
peran untuk registri Anda ke identitas terkelola. Azure CLI secara otomatis membuat penugasan ini. - Buat aplikasi kontainer dengan gambar dari registri privat yang diautentikasi dengan identitas terkelola yang ditetapkan pengguna.
Membuat identitas terkelola yang ditetapkan pengguna
Buat identitas terkelola yang ditetapkan pengguna. Sebelum Anda menjalankan perintah berikut, ganti <PLACEHOLDERS> dengan nama identitas terkelola Anda.
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)
Membuat aplikasi kontainer
Buat aplikasi kontainer Anda dengan gambar Anda dari registri privat yang diautentikasi dengan identitas.
Salin ID sumber daya identitas untuk ditempelkan ke <tempat penampung IDENTITY_ID> dalam perintah di bawah ini. Jika tag gambar Anda tidak latest
, ganti 'terbaru' dengan tag Anda.
echo $IDENTITY_ID
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--user-assigned <IDENTITY_ID> \
--registry-identity <IDENTITY_ID> \
--registry-server "${REGISTRY_NAME}.azurecr.io" \
--image "${REGISTRY_NAME}.azurecr.io/${IMAGE_NAME}:latest"
Penghapusan
Perhatian
Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar cakupan panduan mulai cepat ini berada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.
az group delete --name $RESOURCE_GROUP
Identitas terkelola yang ditetapkan sistem
Untuk mengonfigurasi identitas yang ditetapkan sistem, Anda harus:
- Buat aplikasi kontainer dengan gambar publik.
- Tetapkan identitas terkelola yang ditetapkan sistem ke aplikasi kontainer.
- Perbarui aplikasi kontainer dengan gambar privat.
Membuat aplikasi kontainer
Buat kontainer dengan gambar publik.
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
Memperbarui aplikasi kontainer
Perbarui aplikasi kontainer dengan gambar dari registri kontainer privat Anda dan tambahkan identitas yang ditetapkan sistem untuk mengautentikasi penarikan Azure Container Registry. Anda juga dapat menyertakan pengaturan lain yang diperlukan untuk aplikasi kontainer Anda, seperti pengaturan masuk, skala, dan Dapr.
Atur server registri dan aktifkan identitas terkelola yang ditetapkan sistem di aplikasi kontainer.
az containerapp registry set \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--identity system \
--server "${REGISTRY_NAME}.azurecr.io"
az containerapp update \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--image "${REGISTRY_NAME}.azurecr.io/${IMAGE_NAME}:latest"
Penghapusan
Perhatian
Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar cakupan panduan mulai cepat ini berada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.
az group delete --name $RESOURCE_GROUP
Artikel ini menjelaskan cara menggunakan templat Bicep untuk mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola yang ditetapkan pengguna untuk menarik gambar dari repositori Azure Container Registry privat.
Prasyarat
- Akun Azure dengan langganan aktif.
- Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
- Jika menggunakan Azure CLI, instal Azure CLI di komputer lokal Anda.
- Jika menggunakan PowerShell, instal Azure PowerShell di komputer lokal Anda. Pastikan bahwa versi terbaru modul Az.App diinstal dengan menjalankan perintah
Install-Module -Name Az.App
. - Azure Container Registry privat yang berisi gambar yang ingin Anda tarik. Untuk membuat registri kontainer dan mendorong gambar ke dalamnya, lihat Mulai Cepat: Membuat registri kontainer privat menggunakan Azure CLI atau Mulai Cepat: Membuat registri kontainer privat menggunakan Azure PowerShell
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
Menginstal Bisep
Jika Anda tidak menginstal Bicep, Anda dapat menginstalnya sebagai berikut.
az bicep install
Jika Anda telah menginstal Bicep, pastikan Anda memiliki versi terbaru.
az bicep upgrade
Untuk informasi selengkapnya, lihat Menginstal Bicep.
Atur variabel lingkungan
Selanjutnya, atur variabel lingkungan berikut. Ganti tempat penampung yang dikelilingi dengan <>
nilai Anda.
RESOURCE_GROUP="<RESOURCE_GROUP_NAME>"
LOCATION="<LOCATION>"
REGISTRY_NAME="<REGISTRY_NAME>"
IMAGE_NAME="<IMAGE_NAME>"
IMAGE_TAG="<IMAGE_TAG>"
BICEP_TEMPLATE="<BICEP_TEMPLATE>"
CONTAINERAPPS_ENVIRONMENT="<ENVIRONMENT_NAME>"
CONTAINER_NAME="<CONTAINER_NAME>"
CONTAINERAPP_NAME="<CONTAINERAPP_NAME>"
USER_ASSIGNED_IDENTITY_NAME="<USER_ASSIGNED_IDENTITY_NAME>"
LOG_ANALYTICS_WORKSPACE_NAME="<LOG_ANALYTICS_WORKSPACE_NAME>"
APP_INSIGHTS_NAME="<APP_INSIGHTS_NAME>"
ACR_PULL_DEFINITION_ID="7f951dda-4ed3-4680-a7ca-43fe172d538d"
Peran ini AcrPull
memberikan izin identitas terkelola yang ditetapkan pengguna Anda untuk menarik gambar dari registri.
Templat Bicep
Salin templat Bicep berikut dan simpan sebagai file dengan ekstensi .bicep
.
param environmentName string
param logAnalyticsWorkspaceName string
param appInsightsName string
param containerAppName string
param azureContainerRegistry string
param azureContainerRegistryImage string
param azureContainerRegistryImageTag string
param acrPullDefinitionId string
param userAssignedIdentityName string
param location string = resourceGroup().location
resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = {
name: userAssignedIdentityName
location: location
}
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(resourceGroup().id, azureContainerRegistry, 'AcrPullTestUserAssigned')
properties: {
principalId: identity.properties.principalId
principalType: 'ServicePrincipal'
// acrPullDefinitionId has a value of 7f951dda-4ed3-4680-a7ca-43fe172d538d
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', acrPullDefinitionId)
}
}
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' = {
name: logAnalyticsWorkspaceName
location: location
properties: any({
retentionInDays: 30
features: {
searchVersion: 1
}
sku: {
name: 'PerGB2018'
}
})
}
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: appInsightsName
location: location
kind: 'web'
properties: {
Application_Type: 'web'
WorkspaceResourceId: logAnalyticsWorkspace.id
}
}
resource appEnvironment 'Microsoft.App/managedEnvironments@2022-06-01-preview' = {
name: environmentName
location: location
properties: {
daprAIInstrumentationKey: appInsights.properties.InstrumentationKey
appLogsConfiguration: {
destination: 'log-analytics'
logAnalyticsConfiguration: {
customerId: logAnalyticsWorkspace.properties.customerId
sharedKey: logAnalyticsWorkspace.listKeys().primarySharedKey
}
}
}
}
resource containerApp 'Microsoft.App/containerApps@2022-06-01-preview' = {
name: containerAppName
location: location
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${identity.id}': {}
}
}
properties: {
environmentId: appEnvironment.id
configuration: {
ingress: {
targetPort: 8080
external: true
}
registries: [
{
server: '${azureContainerRegistry}.azurecr.io'
identity: identity.id
}
]
}
template: {
containers: [
{
image: '${azureContainerRegistry}.azurecr.io/${azureContainerRegistryImage}:${azureContainerRegistryImageTag}'
name: '${azureContainerName}'
resources: {
cpu: 1
memory: '2Gi'
}
}
]
scale: {
minReplicas: 1
maxReplicas: 1
}
}
}
}
output location string = location
output environmentId string = appEnvironment.id
Menyebarkan aplikasi kontainer
Sebarkan aplikasi kontainer Anda dengan perintah berikut.
az deployment group create \
--resource-group $RESOURCE_GROUP \
--template-file $BICEP_TEMPLATE \
--parameters environmentName="${CONTAINERAPPS_ENVIRONMENT}" \
logAnalyticsWorkspaceName="${LOG_ANALYTICS_WORKSPACE_NAME}" \
appInsightsName="${APP_INSIGHTS_NAME}" \
containerAppName="${CONTAINERAPP_NAME}" \
azureContainerRegistry="${REGISTRY_NAME}" \
azureContainerRegistryImage="${IMAGE_NAME}" \
azureContainerRegistryImageTag="${IMAGE_TAG}" \
azureContainerName="${CONTAINER_NAME}" \
acrPullDefinitionId="${ACR_PULL_DEFINITION_ID}" \
userAssignedIdentityName="${USER_ASSIGNED_IDENTITY_NAME}" \
location="${LOCATION}"
Perintah ini menyebarkan yang berikut ini.
- Grup sumber daya Azure.
- Lingkungan Aplikasi Kontainer.
- Ruang kerja Analitik Log yang terkait dengan lingkungan Aplikasi Kontainer.
- Sumber daya Application Insights untuk pelacakan terdistribusi.
- Identitas terkelola yang ditetapkan pengguna.
- Kontainer untuk menyimpan gambar.
- Aplikasi kontainer berdasarkan gambar.
Jika Anda menerima kesalahan Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format
, pastikan file templat Bicep Anda memiliki ekstensi .bicep
.
Sumber Daya Tambahan:
Untuk informasi selengkapnya, lihat yang berikut ini.