Menjelajahi kontainer di Azure Container Apps
Azure Container Apps mengelola detail Kubernetes dan orkestrasi kontainer untuk Anda. Kontainer di Azure Container Apps dapat menggunakan runtime, bahasa pemrograman, atau tumpukan pengembangan pilihan Anda.
Azure Container Apps mendukung gambar kontainer x86-64 (linux/amd64) berbasis Linux. Tidak ada gambar kontainer dasar yang diperlukan, dan jika kontainer mengalami crash, kontainer akan dimulai ulang secara otomatis.
Konfigurasi
Kode berikut adalah contoh array containers di bagian properties.template templat sumber daya aplikasi kontainer. Kutipan menunjukkan beberapa opsi konfigurasi yang tersedia saat menyiapkan kontainer saat menggunakan templat Azure Resource Manager (ARM). Perubahan pada bagian konfigurasi ARM templat memicu revisi aplikasi kontainer baru.
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"env": [
{
"name": "HTTP_PORT",
"value": "80"
},
{
"name": "SECRET_VAL",
"secretRef": "mysecret"
}
],
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myfiles",
"volumeName": "azure-files-volume"
}
]
"probes":[
{
"type":"liveness",
"httpGet":{
"path":"/health",
"port":8080,
"httpHeaders":[
{
"name":"Custom-Header",
"value":"liveness probe"
}]
},
"initialDelaySeconds":7,
"periodSeconds":3
// file is truncated for brevity
Beberapa kontainer
Anda dapat menentukan beberapa kontainer dalam satu aplikasi kontainer untuk mengimplementasikan pola sidecar . Kontainer dalam aplikasi kontainer berbagi hard disk dan sumber daya jaringan dan mengalami siklus hidup aplikasi yang sama.
Contoh kontainer tambahan meliputi:
- Agen yang membaca log dari kontainer aplikasi utama pada volume bersama dan meneruskannya ke layanan pengelogan.
- Proses latar belakang yang memperbarui cache yang digunakan kontainer utama aplikasi dalam volume bersama.
Nota
Menjalankan beberapa kontainer dalam satu aplikasi kontainer adalah kasus penggunaan tingkat lanjut. Dalam kebanyakan situasi di mana Anda ingin menjalankan beberapa kontainer, seperti saat menerapkan arsitektur layanan mikro, sebarkan setiap layanan sebagai aplikasi kontainer terpisah.
Untuk menjalankan beberapa kontainer dalam aplikasi kontainer, tambahkan lebih dari satu kontainer dalam array kontainer templat aplikasi kontainer.
Registri wadah
Anda dapat menyebarkan gambar yang dihosting di registri privat dengan memberikan kredensial dalam konfigurasi Aplikasi Kontainer.
Untuk menggunakan registri kontainer, Anda menentukan bidang yang diperlukan dalam array registri di bagian properties.configuration dari templat sumber daya aplikasi kontainer. Bidang passwordSecretRef mengidentifikasi nama rahasia dalam nama array rahasia tempat Anda menentukan kata sandi.
{
...
"registries": [{
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secret-name"
}]
}
Dengan informasi registri ditambahkan, kredensial yang disimpan dapat digunakan untuk menarik gambar kontainer dari registri privat saat aplikasi Anda disebarkan.
Keterbatasan
Azure Container Apps memiliki batasan berikut:
- Kontainer istimewa: Azure Container Apps tidak dapat menjalankan kontainer istimewa. Jika program Anda mencoba menjalankan proses yang memerlukan akses root, aplikasi di dalam kontainer mengalami kesalahan runtime.
-
Sistem operasi: Gambar kontainer berbasis Linux (
linux/amd64) diperlukan.