Jalankan tugas kontainer dengan kebijakan mulai ulang
Kemudahan dan kecepatan penyebaran kontainer di Azure Container Instances menyediakan platform yang menarik untuk menjalankan tugas jalan sekali seperti build, pengujian, dan penyajian gambar dalam instans kontainer.
Dengan kebijakan mulai ulang yang dapat dikonfigurasi, Anda dapat menentukan bahwa kontainer Anda dihentikan ketika prosesnya selesai. Karena Azure menagih instans kontainer per detik, Anda hanya dikenakan biaya untuk sumber daya komputasi yang digunakan saat kontainer yang menjalankan tugas Anda sedang berjalan.
Contoh yang disajikan dalam artikel ini menggunakan Azure CLI. Anda harus menginstal Azure CLI versi 2.0.21 atau lebih tinggi secara lokal, atau menggunakan CLI di Azure Cloud Shell.
Kebijakan hidupkan ulang kontainer
Saat membuat grup kontainer di Azure Container Instances, Anda bisa menentukan salah satu dari tiga pengaturan kebijakan hidupkan ulang.
Memulai ulang kebijakan | Deskripsi |
---|---|
Always |
Kontainer dalam grup kontainer selalu dimulai ulang. Kebijakan ini adalah pengaturan default yang diterapkan ketika tidak ada kebijakan hidupkan ulang yang ditentukan pada pembuatan kontainer. |
Never |
Kontainer dalam grup kontainer tidak pernah dimulai ulang. Kontainer berjalan paling banyak sekali. |
OnFailure |
Kontainer dalam grup kontainer dimulai ulang hanya ketika proses yang dijalankan dalam kontainer gagal (ketika berakhir dengan kode keluar selain nol). Kontainer dijalankan setidaknya sekali. |
Catatan
Jika grup kontainer Anda dikonfigurasi dengan alamat IP, alamat IP tersebut dapat berubah saat grup kontainer dihidupkan ulang.
Menentukan kebijakan hidupkan ulang
Cara menentukan kebijakan hidupkan ulang bergantung pada cara Anda membuat instans kontainer, seperti dengan Azure CLI, cmdlet Azure PowerShell, atau di portal Microsoft Azure. Di Azure CLI, tentukan parameter --restart-policy
saat Anda memanggil az container create.
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mycontainerimage \
--restart-policy OnFailure
Contoh berjalan hingga selesai
Untuk melihat kebijakan hidupkan ulang dalam tindakan, buat instans kontainer dari gambar Microsoft aci-wordcount, dan tentukan OnFailure
kebijakan hidupkan ulang. Contoh kontainer ini menjalankan skrip Python yang, secara default, menganalisis teks Hamlet karya Shakespeare, menulis 10 kata yang paling umum ke STDOUT, kemudian keluar.
Jalankan kontainer contoh dengan perintah az container create berikut:
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--restart-policy OnFailure
Azure Container Instances memulai kontainer, lalu menghentikannya saat aplikasi (atau skripnya, dalam hal ini) keluar. Saat Azure Container Instances menghentikan kontainer yang kebijakan penghidupan ulangnya adalah Never
atau OnFailure
, status kontainer diatur ke Dihentikan. Anda bisa memeriksa status kontainer dengan perintah az container show:
az container show \
--resource-group myResourceGroup \
--name mycontainer \
--query containers[0].instanceView.currentState.state
Contoh output:
"Terminated"
Setelah status kontainer contoh memperlihatkan Dihentikan, Anda bisa melihat output tugasnya dengan menampilkan log kontainer. Jalankan perintah az container logs untuk menampilkan output skrip:
az container logs --resource-group myResourceGroup --name mycontainer
Output:
[('the', 990),
('and', 702),
('of', 628),
('to', 610),
('I', 544),
('you', 495),
('a', 453),
('my', 441),
('in', 399),
('HAMLET', 386)]
Contoh ini memperlihatkan output yang dikirim skrip ke STDOUT. Namun, tugas dalam kontainer Anda mungkin malah menulis outputnya ke penyimpanan persisten untuk pengambilan nanti. Misalnya, ke pembagian file Azure.
Langkah berikutnya
Skenario berbasis tugas, seperti pemrosesan batch himpunan data besar dengan beberapa kontainer, bisa memanfaatkan variabel lingkungan atau baris perintah kustom pada runtime.
Untuk detail tentang cara menjaga output kontainer Anda yang berjalan hingga selesai, lihat Memasang pembagian file Azure dengan Azure Container Instances.