Tutorial: Menjalankan aplikasi di Azure Kubernetes Service (AKS)

Kubernetes menyediakan platform yang didistribusikan untuk aplikasi berkontainer. Anda membuat dan menerapka aplikasi serta layanan Anda sendiri ke dalam kluster Kubernetes, dan membiarkan kluster mengelola ketersediaan dan konektivitas. Dalam tutorial ini, bagian keempat dari tujuh, aplikasi sampel disebarkan ke dalam kluster Kubernetes. Anda mempelajari cara:

  • Memperbarui file manifes Kubernetes
  • Menjalankan aplikasi di Kubernetes
  • Menguji aplikasi

Dalam tutorial selanjutnya, aplikasi ini diskalakan dan diperbarui.

Mulai cepat ini mengasumsikan pemahaman dasar tentang konsep Kubernetes. Untuk informasi selengkapnya, lihat konsep inti Kube untuk Azure Kubernetes Service (AKS).

Sebelum Anda mulai

Dalam tutorial sebelumnya, aplikasi dikemas ke dalam citra kontainer, citra ini diunggah ke Azure Container Registry, dan klusterster Kubernetes dibuat.

Untuk menyelesaikan tutorial ini, Anda memerlukan file manifes Kubernetes azure-vote-all-in-one-redis.yaml yang telah dibuat sebelumnya. File ini diunduh dengan kode sumber aplikasi dalam tutorial sebelumnya. Verifikasi bahwa Anda telah mengkloning repo, dan bahwa Anda telah mengubah direktori menjadi repo kloning. Jika Anda belum melakukan langkah-langkah ini, dan ingin mengikuti, mulailah 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 memasang atau meningkatkan, lihat Memasang CLI Azure.

Memperbarui file manifes

Dalam tutorial ini, instans Azure Container Registry (ACR) menyimpan citra kontainer untuk aplikasi sampel. Untuk menerapkan aplikasi, Anda harus memperbarui nama citra dalam file manifes Kubernetes untuk menyertakan nama server login ACR.

Dapatkan nama server login ACR menggunakan perintah daftar az acr sebagai berikut:

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

File manifes sampel dari repo git yang dikloning dalam tutorial pertama menggunakan nama server login microsoft. Pastikan Anda berada di direktori azure-voting-app-redis yang dikloning, lalu buka file manifes dengan editor teks, seperti vi:

vi azure-vote-all-in-one-redis.yaml

Mengganti microsoft dengan nama server login ACR Anda. Nama citra ditemukan pada baris 60 dari file manifes. Contoh berikut menunjukkan nama citra default:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Berikan nama server login ACR Anda sendiri sehingga file manifes Anda terlihat seperti contoh berikut:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Simpan dan tutup file. Di vi, gunakan :wq.

Menyebarkan aplikasi

Untuk menyebarkan aplikasi, gunakan perintah kubectl apply. Perintah ini menguraikan file manifes dan membuat objek Kubernetes yang ditentukan. Tentukan sampel file manifes, seperti yang ditunjukkan dalam contoh berikut:

kubectl apply -f azure-vote-all-in-one-redis.yaml

Output contoh berikut menunjukkan sumber daya yang berhasil dibuat di kluster AKS:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Menguji aplikasi

Saat aplikasi berjalan, layanan Kube mengekspos ujung depan aplikasi ke internet. Diperlukan beberapa menit untuk menyelesaikan proses ini.

Untuk memantau kemajuan, gunakan perintah layanan dapatkan kubectl dengan argumen --watch.

kubectl get service azure-vote-front --watch

Awalnya IP_EKSTERNAL untuk layanan azure-vote-front ditampilkan sebagai tertunda:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Ketika alamat IP_EKSTERNAL berubah dari tertunda ke alamat IP publik aktual, gunakan CTRL-C untuk menghentikan proses melihat kubectl. Output contoh berikut menunjukkan alamat IP publik yang valid yang ditetapkan ke layanan:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Untuk melihat aplikasi yang sedang berjalan, buka browser web ke alamat IP eksternal layanan Anda:

Cuplikan layar memperlihatkan citra kontainer Azure Voting App yang berjalan di kluster AKS terbuka di browser web lokal

Jika aplikasi tidak dimuat, mungkin karena masalah otorisasi dengan registri citra Anda. Untuk melihat status kontainer Anda, gunakan perintah kubectl get pods. Jika citra kontainer tidak dapat ditarik, lihat Mengautentikasi dengan Azure Container Registry dari Azure Kubernetes Service.

Langkah berikutnya

Dalam tutorial ini, sampel Azure Voting App diterapkan ke kluster Kubernetes di AKS. Anda mempelajari cara untuk:

  • Memperbarui file manifes Kubernetes
  • Menjalankan aplikasi di Kubernetes
  • Menguji aplikasi

Lanjutkan ke tutorial berikutnya untuk mempelajari cara menskalakan aplikasi Kubernetes dan infrastruktur Kubernetes yang mendasarinya.