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
.
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:
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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk