Tutorial: Memperbarui aplikasi di AKS yang diaktifkan oleh Azure Arc

Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server

Setelah menyebarkan aplikasi di Kubernetes menggunakan AKS yang diaktifkan oleh Arc, Anda dapat memperbaruinya dengan menentukan gambar kontainer atau versi gambar baru. Anda harus melakukan pembaruan sehingga hanya sebagian penyebaran yang diperbarui di waktu yang sama. Pembaruan bertahap ini memungkinkan aplikasi untuk terus berjalan selama pembaruan. Ini juga menyediakan mekanisme rollback jika kegagalan penyebaran terjadi.

Tutorial ini, bagian enam dari tujuh, menjelaskan cara memperbarui sampel aplikasi Azure Vote. Anda akan mempelajari cara untuk:

  • Memperbarui kode aplikasi front-end
  • Membuat image kontainer yang diperbarui
  • Mendorong image kontainer ke Azure Container Registry
  • Menyebarkan image kontainer yang diperbarui

Sebelum Anda mulai

Dalam tutorial sebelumnya, Anda mempelajari cara:

  • Mengemas aplikasi ke dalam citra kontainer dan mengunggah citra ke Azure Container Registry.
  • Buat kluster Kubernetes di Azure Stack HCI dan sebarkan aplikasi ke kluster.
  • Melakukan klon repositori aplikasi yang mencakup kode sumber aplikasi dan file Docker Compose yang telah dibuat sebelumnya yang dapat digunakan dalam tutorial ini.

Verifikasi bahwa Anda membuat kloning repositori, dan mengubah direktori ke direktori kloning. Jika Anda belum menyelesaikan langkah tersebut, mulai dengan Tutorial 1 - Membuat citra kontainer.

Tutorial ini mengharuskan Anda menjalankan Azure CLI versi 2.0.53 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu menginstal atau meningkatkan, lihat Menginstal Azure CLI.

Memperbarui aplikasi

Bagian ini menjelaskan cara membuat perubahan pada aplikasi sampel, lalu memperbarui versi yang sudah disebarkan ke kluster AKS Anda. Pastikan Anda berada di direktori azure-voting-app-redis yang dikloning. Contoh kode sumber aplikasi kemudian dapat ditemukan di dalam direktori azure-vote. Buka file config_file.cfg dengan editor, seperti Notepad:

notepad azure-vote/azure-vote/config_file.cfg

Ubah nilai untuk VOTE1VALUE dan VOTE2VALUE ke nilai yang berbeda, seperti warna. Contoh berikut ini memperlihatkan nilai yang diperbarui:

# UI Configurations
TITLE = 'Azure Voting App'
VOTE1VALUE = 'Blue'
VOTE2VALUE = 'Purple'
SHOWHOST = 'false'

Simpan dan tutup file.

Memperbarui image kontainer

Untuk membuat ulang image front-end dan menguji aplikasi yang diperbarui, gunakan docker-compose. Argumen --build digunakan untuk membuat ulang gambar aplikasi:

docker-compose up --build -d

Menguji aplikasi secara lokal

Untuk memverifikasi bahwa image kontainer yang diperbarui menunjukkan perubahan Anda, buka browser web lokal ke http://localhost:8080.

Cuplikan layar memperlihatkan contoh image kontainer yang diperbarui Azure Voting App berjalan secara lokal terbuka di browser web lokal

Nilai yang diperbarui yang disediakan di config_file.cfg ditampilkan di aplikasi Anda yang sedang berjalan.

Menandai dan mendorong image

Untuk menggunakan gambar yang diperbarui dengan benar, tandai gambar azure-vote-front dengan nama server login instans Azure Container Registry Anda. Dapatkan nama server login dengan perintah daftar az acr:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Gunakan tag docker untuk menandai image. Ganti <acrLoginServer> dengan nama server login registri kontainer atau nama host registri publik Anda, dan perbarui versi gambar ke v2, sebagai berikut:

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v2

Sekarang gunakan docker push untuk mengunggah image ke registri Anda. Ganti <acrLoginServer> dengan nama server masuk Azure Container Registry Anda.

Catatan

Jika Anda mengalami masalah saat mendorong ke registri kontainer, pastikan Anda masih masuk. Jalankan perintah login az acr menggunakan nama Azure Container Registry Anda yang Anda buat di langkah Membuat Azure Container Registry. Contohnya:az acr login --name <azure container registry name>

docker push <acrLoginServer>/azure-vote-front:v2

Sebarkan aplikasi yang diperbarui

Untuk memberikan waktu aktif maksimum, Anda harus menjalankan beberapa instans dari pod aplikasi. Verifikasi jumlah instans front-end yang berjalan dengan perintah kubectl get pods:

$ kubectl get pods

NAME                               READY     STATUS    RESTARTS   AGE
azure-vote-back-217588096-5w632    1/1       Running   0          10m
azure-vote-front-233282510-b5pkz   1/1       Running   0          10m
azure-vote-front-233282510-dhrtr   1/1       Running   0          10m
azure-vote-front-233282510-pqbfk   1/1       Running   0          10m

Jika Anda tidak memiliki beberapa pod front-end, skalakan penyebaran azure-vote-front sebagai berikut:

kubectl scale --replicas=3 deployment/azure-vote-front

Untuk memperbarui aplikasi, gunakan perintah kubectl set. Perbarui <acrLoginServer> dengan server login atau nama host registri kontainer Anda, dan tentukan versi aplikasi v2:

kubectl set image deployment azure-vote-front azure-vote-front=<acrLoginServer>/azure-vote-front:v2

Untuk memantau penyebaran, gunakan perintah kubectl get pod. Saat aplikasi yang diperbarui disebarkan, pod Anda dihentikan dan dibuat ulang dengan gambar kontainer baru:

kubectl get pods

Output contoh berikut menunjukkan pengakhiran pod-pod dan instans baru yang berjalan saat penyebaran berlangsung:

$ kubectl get pods

NAME                               READY     STATUS        RESTARTS   AGE
azure-vote-back-2978095810-gq9g0   1/1       Running       0          5m
azure-vote-front-1297194256-tpjlg  1/1       Running       0          1m
azure-vote-front-1297194256-tptnx  1/1       Running       0          5m
azure-vote-front-1297194256-zktw9  1/1       Terminating   0          1m

Uji aplikasi yang diperbarui

Untuk melihat aplikasi pembaruan, pertama-tama dapatkan alamat IP eksternal layanan azure-vote-front:

kubectl get service azure-vote-front

Berikutnya, buka browser web ke alamat IP layanan Anda:

Cuplikan layar memperlihatkan contoh gambar yang diperbarui Azure Voting App yang berjalan di kluster Kubernetes yang dibuka di browser web lokal.

Langkah berikutnya

Dalam tutorial ini, Anda memperbarui aplikasi dan meluncurkan pembaruan ini ke kluster Kubernetes Anda. Anda mempelajari cara untuk:

  • Memperbarui kode aplikasi front-end
  • Membuat image kontainer yang diperbarui
  • Mendorong image kontainer ke Azure Container Registry
  • Menyebarkan image kontainer yang diperbarui

Lanjutkan ke tutorial berikutnya untuk mempelajari cara meningkatkan kluster ke versi baru Kubernetes.