Di Azure Container Apps, Anda dapat mengatur variabel lingkungan runtime. Variabel ini dapat diatur sebagai entri manual atau sebagai referensi ke rahasia.
Variabel lingkungan ini dimuat ke Aplikasi Kontainer Anda selama runtime.
Anda dapat mengonfigurasi Variabel Lingkungan setelah pembuatan Aplikasi Kontainer atau yang lebih baru dengan membuat revisi baru.
Catatan
Untuk menghindari kebingungan, tidak disarankan untuk menduplikasi variabel lingkungan. Ketika beberapa variabel lingkungan memiliki nama yang sama, variabel terakhir dalam daftar akan berlaku.
Jika Anda membuat Aplikasi Kontainer baru melalui portal Azure, Anda dapat menyiapkan variabel lingkungan di bagian Kontainer:
Anda dapat membuat Aplikasi Kontainer dengan variabel lingkungan menggunakan perintah az containerapp create dengan meneruskan variabel lingkungan sebagai entri 'key=value' yang dipisahkan spasi menggunakan --env-vars parameter .
az containerapp create -n my-containerapp -g MyResourceGroup \
--image my-app:v1.0 --environment MyContainerappEnv \
--secrets mysecret=secretvalue1 anothersecret="secret value 2" \
--env-vars GREETING="Hello, world" ANOTHERENV=anotherenv
Jika Anda ingin mereferensikan rahasia, Anda harus memastikan bahwa rahasia yang ingin Anda referensikan sudah dibuat, lihat Mengelola rahasia. Anda dapat menggunakan nama rahasia dan meneruskannya ke bidang nilai tetapi dimulai dengan secretref:
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
Jika Anda ingin menggunakan PowerShell, pertama-tama, buat objek dalam memori yang disebut EnvironmentVar menggunakan cmdlet PowerShell New-AzContainerAppEnvironmentVarObject .
Untuk menggunakan cmdlet ini, Anda harus meneruskan nama variabel lingkungan menggunakan -Name parameter dan nilai menggunakan -Value parameter.
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -Value "envVarvalue"
Jika Anda ingin mereferensikan rahasia, Anda harus memastikan bahwa rahasia yang ingin Anda referensikan sudah dibuat, lihat Mengelola rahasia. Anda dapat menggunakan nama rahasia dan meneruskannya ke -SecretRef parameter:
$envVar = New-AzContainerAppEnvironmentVarObject -Name "envVarName" -SecretRef "secretName"
Kemudian Anda harus membuat objek dalam memori lain yang disebut Container menggunakan cmdlet PowerShell New-AzContainerAppTemplateObject .
Pada cmdlet ini, Anda harus meneruskan nama gambar kontainer Anda (bukan aplikasi kontainer!) yang Anda inginkan menggunakan -Name parameter , nama gambar yang sepenuhnya memenuhi syarat menggunakan -Image parameter dan mereferensikan objek lingkungan yang Anda tentukan sebelumnya pada variabel $envVar.
$containerTemplate = New-AzContainerAppTemplateObject -Name "container-app-name" -Image "repo/imagename:tag" -Env $envVar
Catatan
Harap dicatat bahwa ada pengaturan lain yang mungkin perlu Anda tentukan di dalam objek templat untuk menghindari penimpaan seperti sumber daya, pemasangan volume, dll. Silakan periksa dokumentasi lengkap tentang templat ini di New-AzContainerAppTemplateObject.
Terakhir, Anda dapat memperbarui Aplikasi Kontainer berdasarkan objek templat baru yang Anda buat menggunakan cmdlet PowerShell Update-AzContainerApp .
Dalam cmdlet terakhir ini, Anda hanya perlu meneruskan objek templat yang Anda tentukan pada $containerTemplate variabel pada langkah sebelumnya menggunakan -TemplateContainer parameter .
Update-AzContainerApp -TemplateContainer $containerTemplate
Menambahkan variabel lingkungan pada aplikasi kontainer yang ada
Setelah Aplikasi Kontainer dibuat, satu-satunya cara untuk memperbarui variabel lingkungan Aplikasi Kontainer adalah dengan membuat revisi baru dengan perubahan yang diperlukan.
Di portal Azure, cari Aplikasi Kontainer lalu pilih aplikasi Anda.
Di menu kiri aplikasi, pilih Revisi dan replika > Buat revisi baru
Kemudian Anda harus mengedit gambar kontainer yang ada saat ini:
Di bagian Variabel lingkungan, Anda dapat Menambahkan variabel Lingkungan baru dengan mengklik Tambahkan.
Kemudian atur Nama variabel Lingkungan Anda dan Sumber (dapat menjadi referensi ke rahasia).
Jika Anda memilih Sumber sebagai manual, Anda dapat memasukkan nilai variabel Lingkungan secara manual.
Anda dapat memperbarui Aplikasi Kontainer dengan perintah az containerapp update .
Contoh ini membuat variabel lingkungan dengan nilai manual (tidak mereferensikan rahasia).
<Ganti PLACEHOLDERS> dengan nilai Anda.
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=<VAR_VALUE>
Jika Anda ingin membuat beberapa variabel lingkungan, Anda dapat menyisipkan nilai yang dipisahkan spasi dalam format 'key=value'.
Jika Anda ingin mereferensikan rahasia, Anda harus memastikan bahwa rahasia yang ingin Anda referensikan sudah dibuat, lihat Mengelola rahasia. Anda dapat menggunakan nama rahasia dan meneruskannya ke bidang nilai tetapi dimulai dengan secretref:, lihat contoh berikut:
az containerapp update \
-n <APP NAME>
-g <RESOURCE_GROUP_NAME>
--set-env-vars <VAR_NAME>=secretref:<SECRET_NAME>
Demikian pula dengan apa yang perlu Anda lakukan saat membuat Aplikasi Kontainer baru, Anda harus membuat objek yang disebut EnvironmentVar, yang terkandung dalam Kontainer. Kontainer ini kemudian digunakan dengan cmdlet New-AzContainerApp PowerShell.
Dalam cmdlet ini, Anda hanya perlu meneruskan objek templat yang Anda tentukan sebelumnya seperti yang dijelaskan di bagian Konfigurasi variabel lingkungan.
Update-AzContainerApp -TemplateContainer $containerTemplate
Variabel lingkungan bawaan
Azure Container Apps secara otomatis menambahkan variabel lingkungan yang dapat digunakan aplikasi dan pekerjaan Anda untuk mendapatkan metadata platform pada run-time.
Aplikasi
Variabel berikut tersedia untuk aplikasi kontainer:
| Nama variabel |
Deskripsi |
Contoh nilai |
CONTAINER_APP_NAME |
Nama aplikasi kontainer. |
my-containerapp |
CONTAINER_APP_REVISION |
Nama revisi aplikasi kontainer. |
my-containerapp--20mh1s9 |
CONTAINER_APP_HOSTNAME |
Nama host khusus revisi aplikasi kontainer. |
my-containerapp--20mh1s9.<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_ENV_DNS_SUFFIX |
Akhiran DNS untuk lingkungan aplikasi Container Apps. Untuk mendapatkan nama domain yang sepenuhnya memenuhi syarat (FQDN) aplikasi, tambahkan nama aplikasi ke akhiran DNS dalam format $CONTAINER_APP_NAME.$CONTAINER_APP_ENV_DNS_SUFFIX. |
<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io |
CONTAINER_APP_PORT |
Port tujuan aplikasi kontainer. |
8080 |
CONTAINER_APP_REPLICA_NAME |
Nama replika aplikasi kontainer. |
my-containerapp--20mh1s9-86c8c4b497-zx9bq |
CONTAINER_NAME |
Nama replika. Tersedia untuk aplikasi fungsi terkelola dan aplikasi logika. |
my-containerapp--20mh1s9-86c8c4b497-zx9bq |
Pekerjaan
Variabel berikut tersedia untuk pekerjaan Container Apps:
| Nama variabel |
Deskripsi |
Contoh nilai |
CONTAINER_APP_JOB_NAME |
Nama pekerjaan. |
my-job |
CONTAINER_APP_JOB_EXECUTION_NAME |
Nama pelaksanaan tugas. |
my-job-iwpi4il |
Langkah berikutnya