Grup kontainer dalam Azure Container Instances
Sumber daya tingkat atas dalam Azure Container Instances adalah grup kontainer. Artikel ini menjelaskan grup kontainer dan jenis skenario apa yang mereka aktifkan.
Apa itu grup kontainer?
Grup kontainer adalah kumpulan kontainer yang dijadwalkan pada mesin host yang sama. Kontainer dalam grup kontainer berbagi siklus hidup, sumber daya, jaringan lokal, dan volume penyimpanan. Ini mirip dengan pod di Kubernetes.
Diagram berikut memperlihatkan contoh grup kontainer yang menyertakan beberapa kontainer:
Contoh grup kontainer ini:
- Dijadwalkan di satu mesin host.
- Diberi label nama DNS.
- Mengekspos satu alamat IP publik, dengan satu port yang diekspos.
- Terdiri dari dua kontainer. Satu kontainer mendengarkan di port 80, sementara yang lain mendengarkan di port 5000.
- Menyertakan dua berbagi file Azure sebagai dudukan volume, dan tiap kontainer memasang salah satu berbagi secara lokal.
Catatan
Grup multikontainer saat ini hanya mendukung kontainer Linux. Untuk kontainer Windows, Azure Container Instances hanya mendukung penyebaran instans kontainer tunggal. Meskipun kami sedang berupaya menghadirkan semua fitur ke kontainer Windows, Anda dapat menemukan perbedaan platform saat ini dalam Gambaran umum.
Penyebaran
Berikut adalah dua cara umum untuk menyebarkan grup multi-kontainer: gunakan templat Resource Manager atau file YAML. Templat Resource Manager direkomendasikan saat Anda perlu menyebarkan sumber daya layanan Azure lainnya (misalnya, berbagi Azure Files) saat Anda menyebarkan instans kontainer. Karena sifat format YAML yang lebih ringkas, file YAML disarankan ketika penyebaran Anda hanya mencakup instans kontainer. Untuk detail tentang properti yang bisa Anda atur, lihat referensi templat Resource Manager atau dokumentasi referensi YAML.
Untuk mempertahankan konfigurasi grup kontainer, Anda dapat mengekspor konfigurasi ke file YAML menggunakan perintah Azure CLI az container export. Ekspor memungkinkan Anda menyimpan konfigurasi grup kontainer di kontrol versi untuk "konfigurasi sebagai kode". Atau, gunakan file yang diekspor sebagai titik awal saat mengembangkan konfigurasi baru di YAML.
Alokasi sumber daya
Azure Container Instances mengalokasikan sumber daya seperti CPU, memori, dan GPU (pratinjau) secara opsional ke grup multi-kontainer dengan menambahkan permintaan sumber daya instans dalam grup. Mengambil sumber daya CPU sebagai contoh, jika Anda membuat grup kontainer dengan dua instans kontainer, masing-masing meminta satu CPU, lalu grup kontainer dialokasikan 2 CPU.
Penggunaan sumber daya menurut instans kontainer
Tiap instans kontainer dalam grup dialokasikan sumber daya yang ditentukan dalam permintaan sumber dayanya. Namun, sumber daya maksimum yang digunakan oleh instans kontainer dalam grup bisa berbeda jika Anda mengonfigurasi properti batas sumber daya opsionalnya. Batas sumber daya instans kontainer harus lebih besar dari atau sama dengan properti permintaan sumber daya wajib.
Jika Anda tidak menentukan batas sumber daya, penggunaan sumber daya maksimum instans kontainer sama dengan permintaan sumber dayanya.
Jika Anda menentukan batas untuk instans kontainer, penggunaan maksimum instans bisa lebih besar dari permintaan, hingga batas yang Anda tetapkan. Seiring dengan itu, penggunaan sumber daya oleh instans kontainer lain dalam grup dapat berkurang. Batas sumber daya maksimum yang dapat Anda tetapkan untuk instans kontainer adalah total sumber daya yang dialokasikan untuk grup.
Misalnya, dalam grup dengan dua instans kontainer yang masing-masing meminta satu CPU, salah satu kontainer Anda mungkin menjalankan beban kerja yang memerlukan lebih banyak CPU untuk dijalankan daripada yang lain.
Dalam skenario ini, Anda dapat menetapkan batas sumber daya hingga 2 CPU untuk instans kontainer. Konfigurasi ini memungkinkan instans kontainer menggunakan hingga 2 CPU jika tersedia.
Catatan
Sejumlah kecil sumber daya grup kontainer digunakan oleh infrastruktur dasar layanan. Kontainer Anda akan mampu mengakses sebagian besar, tetapi tidak semua, sumber daya yang dialokasikan untuk grup. Untuk alasan ini, siapkan rencana buffer sumber daya kecil saat meminta sumber daya untuk kontainer dalam grup.
Alokasi minimum dan maksimum
Alokasikan minimal 1 CPU dan memori 1 GB untuk grup kontainer. Instans kontainer individual dalam grup dapat disediakan dengan kurang dari satu CPU dan memori 1 GB.
Untuk sumber daya maksimum dalam grup kontainer, lihat ketersediaan sumber daya untuk Azure Container Instances di wilayah penyebaran.
Jaringan
Grup kontainer dapat berbagi alamat IP eksternal, satu atau beberapa port pada alamat IP tersebut, dan label DNS dengan nama domain yang sepenuhnya memenuhi syarat (FQDN). Untuk memungkinkan klien eksternal menjangkau kontainer dalam grup, Anda harus mengekspos port di alamat IP dan dari kontainer. Alamat IP grup kontainer dan FQDN dirilis saat grup kontainer dihapus.
Dalam grup kontainer, instans kontainer dapat menjangkau satu sama lain melalui localhost di port apa pun, bahkan jika port tersebut tidak diekspos secara eksternal di alamat IP grup atau dari kontainer.
Sebarkan grup kontainer ke jaringan virtual Azure secara opsional agar kontainer dapat berkomunikasi dengan aman dengan sumber daya lain di jaringan virtual.
Penyimpanan
Anda dapat menentukan volume eksternal untuk dipasang dalam grup kontainer. Volume yang didukung meliputi:
Anda dapat memetakan volume tersebut ke jalur tertentu dalam masing-masing kontainer dalam grup.
Skenario umum
Grup multi-kontainer berguna dalam kasus di mana Anda ingin membagi satu tugas fungsional menjadi beberapa gambar kontainer. Gambar-gambar ini dapat memiliki persyaratan sumber daya terpisah, dan tim yang berbeda dapat mengirimkannya.
Contoh penggunaan dapat mencakup:
- Kontainer yang melayani aplikasi web dan kontainer yang menarik konten terbaru dari kontrol sumber.
- Kontainer aplikasi dan kontainer pengelogan. Kontainer pengelogan mengumpulkan log dan output metrik oleh aplikasi utama dan menulisnya ke penyimpanan jangka panjang.
- Kontainer aplikasi dan kontainer pemantauan. Kontainer pemantauan secara berkala membuat permintaan ke aplikasi untuk memastikan kontainer berjalan dan merespons dengan benar, dan menghasilkan pemberitahuan jika tidak.
- Kontainer ujung depan dan kontainer ujung belakang. Ujung depan dapat melayani aplikasi web, dengan ujung belakang menjalankan layanan untuk mengambil data.
Langkah berikutnya
Pelajari cara menyebarkan grup kontainer multi-kontainer dengan templat Azure Resource Manager: