Tutorial - Menyebarkan aplikasi ke Azure Kubernetes Service (AKS)
Kubernetes menyediakan platform yang didistribusikan untuk aplikasi berkontainer. Anda membangun dan menyebarkan aplikasi dan layanan Anda sendiri ke dalam kluster Kubernetes dan membiarkan kluster mengelola ketersediaan dan konektivitas.
Dalam tutorial ini, bagian empat dari tujuh, Anda menyebarkan aplikasi sampel ke dalam kluster Kubernetes. Anda akan mempelajari cara untuk:
- Perbarui file manifes Kubernetes.
- Jalankan aplikasi di Kubernetes.
- Menguji aplikasi.
Tip
Dengan AKS, Anda dapat menggunakan pendekatan berikut untuk manajemen konfigurasi:
GitOps: Memungkinkan deklarasi status kluster Anda untuk diterapkan secara otomatis ke kluster. Untuk mempelajari cara menggunakan GitOps untuk menyebarkan aplikasi dengan kluster AKS, lihat prasyarat untuk kluster Azure Kubernetes Service di tutorial GitOps dengan Flux v2 .
DevOps: Memungkinkan Anda untuk membangun, menguji, dan menyebarkan dengan integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD). Untuk melihat contoh cara menggunakan DevOps untuk menyebarkan aplikasi dengan kluster AKS, lihat Membangun dan menyebarkan ke AKS dengan Azure Pipelines atau GitHub Actions untuk disebarkan ke Kubernetes.
Sebelum Anda mulai
Dalam tutorial sebelumnya, Anda mengemas aplikasi ke dalam gambar kontainer, mengunggah gambar ke Azure Container Registry, dan membuat kluster Kubernetes. Untuk menyelesaikan tutorial ini, Anda memerlukan file manifes Kubernetes yang telah aks-store-quickstart.yaml
dibuat sebelumnya. File ini diunduh dalam kode sumber aplikasi dari Tutorial 1 - Siapkan aplikasi untuk AKS.
Tutorial ini membutuhkan Azure CLI versi 2.0.53 atau versi yang lebih baru. Periksa versi Anda dengan az --version
. Untuk memasang atau meningkatkan, lihat Pasang Azure CLI.
Memperbarui file manifes
Dalam tutorial ini, instans Azure Container Registry (ACR) Anda menyimpan gambar kontainer untuk aplikasi sampel. Untuk menyebarkan aplikasi, Anda harus memperbarui nama gambar dalam file manifes Kubernetes untuk menyertakan nama server login ACR Anda.
Dapatkan alamat server masuk Anda menggunakan
az acr list
perintah dan kueri untuk server masuk Anda.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Pastikan Anda berada di direktori aks-store-demo kloning, lalu buka file manifes dengan editor teks, seperti
vi
.vi aks-store-quickstart.yaml
image
Perbarui properti untuk kontainer dengan mengganti ghcr.io/azure-samples dengan nama server login ACR Anda.containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:latest ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:latest ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:latest ...
Simpan dan tutup file. Di
vi
, gunakan:wq
.
Jalankan aplikasi
Sebarkan aplikasi menggunakan
kubectl apply
perintah , yang mengurai file manifes dan membuat objek Kubernetes yang ditentukan.kubectl apply -f aks-store-quickstart.yaml
Output contoh berikut menunjukkan sumber daya yang berhasil dibuat di kluster AKS:
deployment.apps/rabbitmq created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Periksa apakah penyebaran berhasil dengan melihat pod dengan
kubectl
kubectl get pods
Uji aplikasi
Ketika aplikasi berjalan, layanan Kubernetes mengekspos front end aplikasi ke internet. Diperlukan beberapa menit untuk menyelesaikan proses ini.
Baris Perintah
Pantau kemajuan menggunakan perintah
kubectl get service
dengan argumen--watch
.kubectl get service store-front --watch
Awalnya,
EXTERNAL-IP
untuk layanan store-front menunjukkan sebagai tertunda:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
EXTERNAL-IP
Ketika alamat berubah dari tertunda ke alamat IP publik aktual, gunakanCTRL-C
untuk menghentikankubectl
proses tontonan.Output contoh berikut menunjukkan alamat IP publik yang valid yang ditetapkan ke layanan:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Lihat aplikasi yang sedang beraksi dengan membuka browser web ke alamat IP eksternal layanan Anda.
Jika aplikasi tidak dimuat, mungkin masalah otorisasi dengan registri gambar Anda. Untuk melihat status kontainer Anda, gunakan perintah kubectl get pods
. Jika Anda tidak dapat menarik gambar kontainer, lihat Mengautentikasi dengan Azure Container Registry dari Azure Kubernetes Service.
Portal Azure
Navigasi ke portal Azure Anda untuk menemukan informasi penyebaran Anda.
Buka Grup Sumber Daya Anda di portal Azure
Navigasi ke layanan Kubernetes untuk kluster Anda
Pilih
Services and Ingress
di bawahKubernetes Resources
Salin IP Eksternal yang diperlihatkan di kolom untuk store-front
Tempelkan IP ke browser Anda dan kunjungi halaman toko Anda
Langkah berikutnya
Dalam tutorial ini, Anda menyebarkan contoh aplikasi Azure ke kluster Kubernetes di AKS. Anda mempelajari cara untuk:
- Perbarui file manifes Kubernetes.
- Jalankan aplikasi di Kubernetes.
- Menguji aplikasi.
Dalam tutorial berikutnya, Anda mempelajari cara menggunakan layanan PaaS untuk beban kerja stateful di Kubernetes.