Latihan - Kontrol perilaku hidupkan ulang

Selesai

Kemudahan dan kecepatan penyebaran kontainer di Azure Container Instances membuatnya sangat cocok untuk menjalankan tugas run-once seperti rendering gambar atau membangun dan menguji aplikasi.

Dengan kebijakan hidupkan ulang yang dapat dikonfigurasi, Anda dapat menentukan bahwa kontainer Anda dihentikan ketika prosesnya telah selesai. Karena instans kontainer ditagih oleh yang kedua, Anda hanya dikenakan biaya untuk sumber daya komputasi yang digunakan saat kontainer yang menjalankan tugas Anda sedang berjalan.

Apa itu kebijakan hidupkan ulang kontainer?

Azure Container Instances memiliki tiga opsi kebijakan hidupkan ulang:

Memulai ulang kebijakan Deskripsi
Selalu Kontainer dalam grup kontainer selalu dimulai ulang. Kebijakan ini masuk akal untuk tugas yang berjalan lama seperti server web. Pengaturan ini adalah default yang diterapkan ketika tidak ada kebijakan hidupkan ulang yang ditentukan pada pembuatan kontainer.
Tidak pernah Kontainer dalam grup kontainer tidak pernah dimulai ulang. Kontainer hanya berjalan satu kali.
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. Kebijakan ini bekerja dengan baik untuk kontainer yang menjalankan tugas jangka pendek.

Menjalankan kontainer ke penyelesaian

Untuk melihat kebijakan hidupkan ulang dalam tindakan, buat instans kontainer dari citra kontainer azuredocs/aci-wordcount dan tentukan kebijakan hidupkan ulang OnFailure. Kontainer ini menjalankan skrip Python yang menganalisis teks Hamlet Shakespeare, menulis 10 kata yang paling umum untuk output standar, lalu keluar.

  1. Jalankan perintah ini az container create untuk memulai kontainer:

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo \
      --image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
      --restart-policy OnFailure \
      --location eastus
    

    Azure Container Instances memulai kontainer, lalu menghentikannya saat prosesnya (skrip, dalam hal ini) keluar. Saat Azure Container Instances menghentikan kontainer yang kebijakan hidup ulangnya ditetapkan ke Tidak Pernah atau OnFailure, status kontainer ditetapkan ke Dihentikan.

  2. Jalankan az container show untuk memeriksa status kontainer Anda:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo \
      --query "containers[0].instanceView.currentState.state"
    

    Ulangi perintah sampai mencapai status Dihentikan.

  3. Jalankan az container logs untuk melihat log kontainer untuk memeriksa output:

    az container logs \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer-restart-demo
    

    Anda mendapatkan output ini:

    [('the', 990),
     ('and', 702),
     ('of', 628),
     ('to', 610),
     ('I', 544),
     ('you', 495),
     ('a', 453),
     ('my', 441),
     ('in', 399),
     ('HAMLET', 386)]