Tutorial - Menggunakan layanan PaaS dengan kluster Azure Kubernetes Service (AKS)
Dengan Kubernetes, Anda dapat menggunakan layanan PaaS, seperti Azure Bus Layanan, untuk mengembangkan dan menjalankan aplikasi Anda.
Dalam tutorial ini, bagian lima dari tujuh, Anda membuat namespace dan antrean Azure Bus Layanan untuk menguji aplikasi Anda. Anda akan mempelajari cara untuk:
- Buat namespace dan antrean Azure Bus Layanan.
- Perbarui file manifes Kubernetes untuk menggunakan antrean Azure Bus Layanan.
- Uji aplikasi yang diperbarui dengan menempatkan pesanan.
Sebelum Anda mulai
Dalam tutorial sebelumnya, Anda mengemas aplikasi ke dalam gambar kontainer, mengunggah gambar ke Azure Container Registry, membuat kluster Kubernetes, dan menyebarkan aplikasi. Untuk menyelesaikan tutorial ini, Anda memerlukan file manifes Kubernetes aks-store-quickstart.yaml
yang telah dibuat sebelumnya. Unduhan file ini disertakan dengan kode sumber aplikasi dalam tutorial sebelumnya. Pastikan Anda mengkloning repositori dan mengubah direktori ke dalam repositori kloning. Jika Anda belum menyelesaikan langkah-langkah ini dan ingin mengikutinya, mulailah dengan Tutorial 1 - Siapkan aplikasi untuk AKS.
Tutorial ini memerlukan Azure CLI versi 2.34.1 atau yang lebih baru. Jalankan az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Membuat variabel lingkungan
Buat variabel lingkungan berikut untuk digunakan untuk perintah dalam tutorial ini:
LOC_NAME=eastus RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Membuat namespace dan antrean Azure Bus Layanan
Dalam tutorial sebelumnya, Anda menggunakan kontainer RabbitMQ untuk menyimpan pesanan yang dikirimkan oleh order-service
. Dalam tutorial ini, Anda menggunakan namespace Azure Bus Layanan untuk menyediakan kontainer cakupan untuk sumber daya Bus Layanan dalam aplikasi. Anda juga menggunakan antrean Azure Service bus untuk mengirim dan menerima pesan di antara komponen aplikasi. Untuk informasi selengkapnya tentang Azure Bus Layanan, lihat Membuat namespace dan antrean Azure Bus Layanan.
Buat namespace azure Bus Layanan menggunakan
az servicebus namespace create
perintah .az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
Buat antrean Azure Bus Layanan menggunakan
az servicebus queue create
perintah .az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
Buat aturan otorisasi Azure Bus Layanan menggunakan
az servicebus queue authorization-rule create
perintah .az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights Send
Dapatkan kredensial Azure Bus Layanan untuk digunakan nanti menggunakan
az servicebus namespace show
perintah danaz servicebus queue authorization-rule keys list
.az servicebus namespace show --name $SB_NS --resource-group $RG_NAME --query name -o tsv az servicebus queue authorization-rule keys list --namespace-name $SB_NS --resource-group $RG_NAME --queue-name orders --name sender --query primaryKey -o tsv
Memperbarui file manifes Kubernetes
Konfigurasikan
kubectl
untuk menyambungkan ke kluster Anda menggunakanaz aks get-credentials
perintah .az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Buka file
aks-store-quickstart.yaml
di editor teks.Hapus bagian StatefulSet, ConfigMap, dan Service yang ada
rabbitmq
dan ganti bagian Penyebaran yang adaorder-service
dengan konten berikut:apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 selector: matchLabels: app: order-service template: metadata: labels: app: order-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: order-service image: <REPLACE_WITH_YOUR_ACR_NAME>.azurecr.io/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>" # Example: sb-store-demo-123456.servicebus.windows.net - name: ORDER_QUEUE_PORT value: "5671" - name: ORDER_QUEUE_TRANSPORT value: "tls" - name: ORDER_QUEUE_USERNAME value: "sender" - name: ORDER_QUEUE_PASSWORD value: "<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>" - name: ORDER_QUEUE_NAME value: "orders" - name: FASTIFY_ADDRESS value: "0.0.0.0" resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi
Catatan
Secara langsung menambahkan informasi sensitif, seperti kunci API, ke file manifes Kubernetes Anda tidak aman dan mungkin secara tidak sengaja berkomitmen pada repositori kode. Kami menambahkannya di sini untuk kesederhanaan. Untuk beban kerja produksi, gunakan Identitas Terkelola untuk mengautentikasi dengan Azure Bus Layanan atau menyimpan rahasia Anda di Azure Key Vault.
Simpan dan tutup file yang diperbarui
aks-store-quickstart.yaml
.
Sebarkan aplikasi yang diperbarui
Sebarkan aplikasi yang diperbarui menggunakan
kubectl apply
perintah .kubectl apply -f aks-store-quickstart.yaml
Contoh output berikut menunjukkan sumber daya yang berhasil diperbarui:
deployment.apps/order-service configured service/order-service unchanged deployment.apps/product-service unchanged service/product-service unchanged deployment.apps/store-front configured service/store-front unchanged
Uji aplikasi
Melakukan urutan sampel
Dapatkan alamat
store-front
IP eksternal layanan menggunakankubectl get service
perintah .kubectl get service store-front
Navigasi ke alamat
store-front
IP eksternal layanan di browser Anda menggunakanhttp://<external-ip>
.Lakukan pemesanan dengan memilih produk dan memilih Tambahkan ke kelir.
Pilih Keliring untuk melihat pesanan Anda, lalu pilih Checkout.
Menampilkan urutan dalam antrean Azure Bus Layanan
- Navigasi ke portal Azure dan buka namespace azure Bus Layanan yang Anda buat sebelumnya.
- Di bawah Entitas, pilih Antrean, lalu pilih antrean pesanan.
- Dalam antrean pesanan, pilih Bus Layanan Explorer.
- Pilih Intip dari awal untuk melihat pesanan yang Anda kirimkan.
Langkah berikutnya
Dalam tutorial ini, Anda menggunakan Azure Bus Layanan untuk memperbarui dan menguji aplikasi sampel. Anda mempelajari cara untuk:
- Buat namespace dan antrean Azure Bus Layanan.
- Perbarui file manifes Kubernetes untuk menggunakan antrean Azure Bus Layanan.
- Uji aplikasi yang diperbarui dengan menempatkan pesanan.
Dalam tutorial berikutnya, Anda mempelajari cara menskalakan aplikasi di AKS.
Azure Kubernetes Service