Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jika mengikuti tutorial sebelumnya, Anda memiliki kluster Kubernetes dan aplikasi Azure Store Front yang berfungsi.
Dalam tutorial ini, Anda menskalakan pod di aplikasi, mencoba penskalaan otomatis pod, dan menskalakan jumlah simpul Azure VM untuk menyesuaikan kapasitas kluster dalam meng-host beban kerja. Anda akan mempelajari cara untuk:
- Sesuaikan node Kubernetes.
- Tingkatkan skala pod Kubernetes secara manual yang menjalankan aplikasi Anda.
- Konfigurasikan pod autoscaling yang menjalankan frontend aplikasi.
Sebelum Anda mulai
Dalam tutorial sebelumnya, Anda mengemas aplikasi ke dalam gambar kontainer, mengunggah gambar ke Azure Container Registry, membuat kluster AKS, menyebarkan aplikasi, dan menggunakan Azure Service Bus untuk menyebarkan ulang aplikasi yang diperbarui. Jika Anda belum menyelesaikan langkah-langkah ini dan ingin mengikutinya, mulailah dengan Tutorial 1 - Siapkan aplikasi untuk AKS.
Tutorial ini mengubah jumlah pod dan simpul dan dapat meningkatkan biaya komputasi. Gunakan identitas dengan izin untuk menskalakan beban kerja AKS dan kumpulan simpul, seperti Kontributor atau Pemilik untuk grup sumber daya.
Tutorial ini memerlukan Azure CLI versi 2.34.1 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI.
Menskalakan pod secara manual
Desktop AKS
Edit konfigurasi penskalaan untuk order-service dengan memilih Penskalaan>Pilih Deployment: order-service>Edit Konfigurasi>Jumlah Replika: 5.
Verifikasi bahwa pembaruan penyebaran selesai sebelum melanjutkan.
Lihat pod di kluster Anda menggunakan perintah
kubectl getitu.kubectl get podsContoh output berikut menunjukkan pod yang menjalankan aplikasi Azure Store Front:
NAME READY STATUS RESTARTS AGE order-service-848767080-tf34m 1/1 Running 0 31m product-service-4019737227-2q2qz 1/1 Running 0 31m store-front-2606967446-2q2qz 1/1 Running 0 31mUbah jumlah pod secara manual dalam penyebaran store-front menggunakan perintah
kubectl scale.kubectl scale --replicas=5 deployment.apps/store-frontVerifikasi bahwa pod tambahan dibuat menggunakan perintah
kubectl get pods.kubectl get pods --selector app=store-frontContoh output berikut menunjukkan pod tambahan yang menjalankan aplikasi Azure Store Front:
NAME READY STATUS RESTARTS AGE store-front-3309479140-2hfh0 1/1 Running 0 3m store-front-3309479140-bzt05 1/1 Running 0 3m store-front-3309479140-fvcvm 1/1 Running 0 3m store-front-3309479140-hrbf2 1/1 Running 0 15m store-front-3309479140-qphz8 1/1 Running 0 3m
Penskalaan otomatis pod
Desktop AKS
Dalam Project, pilih tombol >YAML Kubernetes.
Salin dan tempel manifes autoscaler YAML ini dan batas sumber daya.
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: store-front-hpa spec: maxReplicas: 10 # define max replica count minReplicas: 3 # define min replica count scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: store-front metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50Pilih Berikutnya>Sebarkan>Tutup.
Pilih Penskalaan>Pilih Penyebaran: store-front. Anda dapat melihat mode penskalaan sekarang diatur ke HPA, Batas Replika, dan Penggunaan/ Target CPU yang ditetapkan oleh konfigurasi.
Verifikasi bahwa mode HPA diaktifkan dan batas replika cocok dengan nilai manifes.
Baris perintah
Untuk menggunakan autoscaler pod horizontal, semua kontainer harus memiliki permintaan dan batasan CPU yang ditentukan, dan pod harus memiliki permintaan yang ditentukan. Dalam penyebaran aks-store-quickstart, kontainer front-end meminta 1m CPU dengan batas 1000m CPU.
Permintaan dan batas sumber daya ini didefinisikan untuk setiap kontainer, seperti yang ditunjukkan dalam contoh ringkas YAML berikut:
...
containers:
- name: store-front
image: ghcr.io/azure-samples/aks-store-demo/store-front:latest
ports:
- containerPort: 8080
name: store-front
...
resources:
requests:
cpu: 1m
...
limits:
cpu: 1000m
...
Menskalakan otomatis pod dengan menggunakan file manifes.
Buat file manifes untuk menentukan perilaku autoscaler dan batas sumber daya, seperti yang ditunjukkan dalam file
aks-store-quickstart-hpa.yamlmanifes contoh ringkas berikut :apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: store-front-hpa spec: maxReplicas: 10 # define max replica count minReplicas: 3 # define min replica count scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: store-front metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50Terapkan file manifes autoscaler menggunakan perintah
kubectl apply.kubectl apply -f aks-store-quickstart-hpa.yamlPeriksa status autoscaler menggunakan
kubectl get hpaperintah .kubectl get hpaSetelah beberapa menit, dengan beban minimal pada aplikasi Azure Store Front, jumlah replika pod berkurang menjadi tiga. Anda dapat menggunakan perintah
kubectl get podslagi untuk melihat pod yang tidak diperlukan dihapus.Lanjutkan ketika kolom
TARGETSdanREPLICASmenampilkan perilaku penskalaan otomatis yang diharapkan untukstore-front-hpa.
Catatan
Anda dapat mengaktifkan add-on AKS Event-Driven Autoscaler (KEDA) berbasis Kubernetes ke kluster Anda untuk mendorong penskalaan berdasarkan jumlah peristiwa yang perlu diproses. Untuk informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis aplikasi yang disederhanakan dengan add-on Kubernetes Event-Driven Autoscaling (KEDA) (Pratinjau).
Menskalakan simpul AKS secara manual
Catatan
Jika Anda membuat kluster AKS Otomatis, langkah-langkah ini tidak berlaku karena kluster menskalakan simpul secara otomatis.
Jika Anda membuat kluster AKS Standard dengan menggunakan perintah dalam tutorial sebelumnya, kluster Anda memiliki tiga simpul. Jika Anda ingin menambah atau mengurangi jumlah ini, Anda dapat menyesuaikan jumlah simpul secara manual.
Contoh berikut meningkatkan jumlah simpul menjadi lima di kluster Kubernetes bernama myAKSCluster. Perintah membutuhkan waktu beberapa menit untuk diselesaikan.
Skalakan node kluster Anda menggunakan perintah
az aks scale.Setelah kluster berhasil diskalakan, output Anda mirip dengan contoh output berikut:
az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster --query "[].{name:name,count:count}" -o tableaz aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 5Setelah kluster berhasil diskalakan, output Anda akan mirip dengan contoh output berikut:
"aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { ... "count": 5, "mode": "System", "name": "nodepool1", "osDiskSizeGb": 128, "osDiskType": "Managed", "osType": "Linux", "ports": null, "vmSize": "Standard_DS2_v2", "vnetSubnetId": null ... } ... ]
Anda juga dapat menskalakan simpul secara otomatis di kluster Anda. Untuk informasi selengkapnya, lihat Menggunakan autoscaler kluster dengan kumpulan simpul.
Langkah selanjutnya
Dalam tutorial ini, Anda menggunakan fitur penskalakan yang berbeda di kluster Kubernetes Anda. Anda mempelajari cara untuk:
- Tingkatkan skala pod Kubernetes secara manual yang menjalankan aplikasi Anda.
- Konfigurasikan pod autoscaling yang menjalankan frontend aplikasi.
- Skalakan simpul Kubernetes secara manual.
Jika Anda sudah selesai, pilih ikon Hapus , dan di pesan konfirmasi pilih Hapus juga namespace.
Dalam tutorial berikutnya, Anda mempelajari cara meningkatkan Kubernetes di kluster AKS Anda.