Mengimplementasikan grup kontainer
Sumber daya tingkat atas dalam Azure Container Instances adalah 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.
Hal-hal yang perlu diketahui tentang grup kontainer
Mari kita tinjau beberapa detail tentang grup kontainer untuk Azure Container Instances.
Grup kontainer mirip dengan pod di Kubernetes. Sebuah pod biasanya memiliki pemetaan 1:1 dengan kontainer, tetapi pod dapat berisi beberapa kontainer. Kontainer dalam pod multi-kontainer dapat berbagi sumber daya terkait.
Azure Container Instances mengalokasikan sumber daya ke grup multi-kontainer dengan menambahkan bersama-sama permintaan sumber daya semua kontainer dalam grup. Sumber daya dapat mencakup item seperti CPU, memori, dan GPU.
Pertimbangkan grup kontainer yang memiliki dua kontainer yang masing-masing memerlukan sumber daya CPU. Setiap kontainer meminta satu CPU. Azure Container Instances mengalokasikan dua CPU untuk grup kontainer.
Ada dua cara umum untuk menyebarkan grup multi-kontainer: Templat Azure Resource Manager (ARM) dan file YAML.
Templat ARM. Templat ARM direkomendasikan untuk menyebarkan sumber daya layanan Azure lainnya saat Anda menyebarkan instans kontainer Anda, seperti berbagi file Azure Files.
File YAML. Karena sifat ringkas dari format YAML, file YAML direkomendasikan ketika penyebaran Anda hanya menyertakan instans kontainer.
Grup kontainer dapat berbagi alamat IP yang menghadap eksternal, satu atau beberapa port pada alamat IP, dan label DNS dengan FQDN.
Akses klien eksternal. Anda harus mengekspos port pada alamat IP dan dari kontainer untuk memungkinkan klien eksternal menjangkau kontainer di grup Anda.
Pemetaan port. Pemetaan port tidak didukung karena kontainer dalam grup berbagi namespace port.
Grup yang dihapus. Saat grup kontainer dihapus, alamat IP dan FQDN-nya dirilis.
Contoh konfigurasi
Pertimbangkan contoh grup multi-kontainer berikut dengan dua kontainer.
Grup multi-kontainer memiliki karakteristik dan konfigurasi berikut:
- Grup kontainer dijadwalkan pada satu komputer host, dan diberi label nama DNS.
- Grup kontainer mengekspos satu alamat IP publik dengan satu port yang diekspos.
- Satu kontainer dalam grup mendengarkan port 80. Kontainer lain mendengarkan port 1433.
- Grup ini menyertakan dua berbagi file Azure Files sebagai pemasangan volume. Setiap kontainer dalam grup memasang salah satu berbagi file secara lokal.
Hal-hal yang perlu dipertimbangkan saat menggunakan grup kontainer
Grup multi-kontainer berguna ketika Anda ingin membagi satu tugas fungsional menjadi beberapa gambar kontainer. Tim yang berbeda dapat mengirimkan gambar, dan gambar dapat memiliki persyaratan sumber daya terpisah.
Pertimbangkan skenario berikut untuk bekerja dengan grup multi-kontainer. Pikirkan tentang opsi apa yang dapat mendukung aplikasi internal Anda untuk peritel online.
Pertimbangkan pembaruan aplikasi web. Dukung pembaruan untuk aplikasi web Anda dengan menerapkan grup multi-kontainer. Satu kontainer dalam grup melayani aplikasi web dan kontainer lain menarik konten terbaru dari kontrol sumber.
Pertimbangkan pengumpulan data log. Gunakan grup multi-kontainer untuk mengambil data pengelogan dan metrik tentang aplikasi Anda. Kontainer aplikasi Anda menghasilkan log dan metrik. Kontainer pengelogan mengumpulkan data output dan menulis data ke penyimpanan jangka panjang.
Pertimbangkan pemantauan aplikasi. Aktifkan pemantauan untuk aplikasi Anda dengan grup multi-kontainer. Kontainer pemantauan secara berkala membuat permintaan ke kontainer aplikasi Anda untuk memastikan aplikasi Anda berjalan dan merespons dengan benar. Kontainer pemantauan memunculkan pemberitahuan jika mengidentifikasi kemungkinan masalah dengan aplikasi Anda.
Pertimbangkan dukungan front-end dan back-end. Buat grup multi-kontainer untuk menahan kontainer front-end dan kontainer back-end Anda. Kontainer front-end dapat melayani aplikasi web. Kontainer back-end dapat menjalankan layanan untuk mengambil data.