Instal add-on Autoscaling berbasis Peristiwa (KEDA) Kubernetes menggunakan templat ARM
Artikel ini menunjukkan cara menyebarkan add-on Kubernetes Event-driven Autoscaling (KEDA) ke Azure Kubernetes Service (AKS) menggunakan templat ARM.
Penting
Versi Kubernetes kluster Anda menentukan versi KEDA apa yang akan diinstal pada kluster AKS Anda. Untuk melihat versi KEDA mana yang dipetakan ke setiap versi AKS, lihat kolom add-on terkelola AKS dari tabel versi komponen Kubernetes.
Untuk versi GA Kubernetes, AKS menawarkan dukungan penuh dari versi minor KEDA yang sesuai dalam tabel. Versi pratinjau Kubernetes dan patch KEDA terbaru sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:
Catatan
KEDA versi 2.15 memperkenalkan perubahan yang melanggar yang menghapus dukungan identitas pod. Sebaiknya pindah ke identitas beban kerja untuk autentikasi jika Anda menggunakan identitas pod. Meskipun add-on yang dikelola KEDA saat ini tidak menjalankan KEDA versi 2.15, add-on yang dikelola KEDA akan mulai menjalankannya di pratinjau AKS versi 1.31.
Untuk informasi selengkapnya tentang cara menskalakan aplikasi Anda dengan aman dengan identitas beban kerja, silakan baca tutorial kami. Untuk melihat kebijakan perubahan/penghentian KEDA yang melanggar, baca dokumentasi resmi mereka.
Sebelum Anda mulai
- Anda memerlukan langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
- Anda memerlukan Azure CLI yang terinstal.
- Artikel ini mengasumsikan Anda memiliki grup sumber daya Azure yang sudah ada. Jika Anda tidak memiliki grup sumber daya yang sudah ada, Anda dapat membuatnya menggunakan
az group create
perintah . - Pastikan Anda memiliki aturan firewall yang dikonfigurasi untuk mengizinkan akses ke server API Kubernetes. Untuk informasi selengkapnya, lihat Aturan jaringan keluar dan FQDN untuk kluster Azure Kubernetes Service (AKS).
- Buat pasangan kunci SSH.
Catatan
Jika Anda menggunakan ID Beban Kerja Microsoft Entra dan mengaktifkan KEDA sebelum ID Beban Kerja, Anda perlu menghidupkan ulang pod operator KEDA sehingga variabel lingkungan yang tepat dapat disuntikkan:
Hidupkan ulang pod dengan menjalankan
kubectl rollout restart deployment keda-operator -n kube-system
.Dapatkan pod operator KEDA menggunakan
kubectl get pod -n kube-system
dan menemukan Pod yang dimulai dengankeda-operator
.Verifikasi keberhasilan injeksi variabel lingkungan dengan menjalankan
kubectl describe pod <keda-operator-pod> -n kube-system
. Di bawahEnvironment
, Anda akan melihat nilai untukAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
, danAZURE_AUTHORITY_HOST
.
Membuat pasangan kunci SSH
Navigasikan ke Azure Cloud Shell.
Membuat pasangan kunci SSH menggunakan perintah
az sshkey create
.az sshkey create --name <sshkey-name> --resource-group <resource-group-name>
Mengaktifkan add-on KEDA dengan templat ARM
Sebarkan templat ARM untuk kluster AKS.
Pilih Edit templat.
Aktifkan add-on KEDA dengan menentukan
workloadAutoScalerProfile
bidang dalam templat ARM, seperti yang diperlihatkan dalam contoh berikut:"workloadAutoScalerProfile": { "keda": { "enabled": true } }
Pilih Simpan.
Perbarui nilai yang diperlukan untuk templat ARM:
- Langganan: Pilih langganan Azure yang akan digunakan untuk penyebaran.
- Grup sumber daya: Pilih grup sumber daya yang akan digunakan untuk penyebaran.
- Wilayah: Pilih wilayah yang akan digunakan untuk penyebaran.
- Awalan Dns: Masukkan nama DNS unik yang akan digunakan untuk kluster.
- Nama Pengguna Admin Linux: Masukkan nama pengguna untuk kluster.
- Sumber kunci publik SSH: Pilih Gunakan kunci yang sudah ada yang disimpan di Azure.
- Kunci Toko: Pilih pasangan kunci yang Anda buat sebelumnya di artikel.
Pilih Tinjau + buat>Buat.
Menyambungkan ke kluster AKS Anda
Untuk menyambungkan ke kluster Kubernetes dari perangkat lokal, Anda menggunakan kubectl, klien baris perintah Kubernetes.
Jika Anda menggunakan Azure Cloud Shell, kubectl
sudah terpasang. Anda juga dapat menginstalnya secara lokal menggunakan az aks install-cli
perintah .
- Konfigurasikan
kubectl
untuk terhubung ke kluster Kubernetes Anda, gunakan perintah az aks get-credentials . Contoh perintah berikut mendapatkan mandat untuk kluster AKS yang bernama MyAKSCluster di MyResourceGroup:
az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster
Contoh penyebaran
Cuplikan berikut adalah penyebaran sampel yang membuat kluster dengan KEDA yang diaktifkan dengan satu kumpulan node yang terdiri dari tiga node DS2_v5
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2023-03-01",
"dependsOn": [],
"type": "Microsoft.ContainerService/managedClusters",
"location": "westcentralus",
"name": "myAKSCluster",
"properties": {
"kubernetesVersion": "1.27",
"enableRBAC": true,
"dnsPrefix": "myAKSCluster",
"agentPoolProfiles": [
{
"name": "agentpool",
"osDiskSizeGB": 200,
"count": 3,
"enableAutoScaling": false,
"vmSize": "Standard_D2S_v5",
"osType": "Linux",
"type": "VirtualMachineScaleSets",
"mode": "System",
"maxPods": 110,
"availabilityZones": [],
"nodeTaints": [],
"enableNodePublicIP": false
}
],
"networkProfile": {
"loadBalancerSku": "standard",
"networkPlugin": "kubenet"
},
"workloadAutoScalerProfile": {
"keda": {
"enabled": true
}
}
},
"identity": {
"type": "SystemAssigned"
}
}
]
}
Mulai menskalakan aplikasi dengan KEDA
Anda dapat menskalakan otomatis aplikasi Anda dengan KEDA menggunakan definisi sumber daya kustom (CRD). Untuk informasi selengkapnya, lihat dokumentasi KEDA.
Menghapus sumber daya
Hapus grup sumber daya dan semua sumber daya terkait menggunakan
az group delete
perintah .az group delete --name <resource-group-name>
Langkah berikutnya
Artikel ini menunjukkan kepada Anda cara memasang add-on OSM pada kluster AKS, dan kemudian memverifikasi bahwa add-on OSM dipasang dan dijalankan. Dengan add-on KEDA yang dipasang pada kluster, Anda dapat menyebarkan aplikasi contoh untuk mulai menskalakan aplikasi.
Untuk informasi tentang pemecahan masalah KEDA, lihat Memecahkan masalah add-on Autoscaling berbasis Peristiwa (KEDA) Kubernetes.
Untuk mempelajari lebih lanjut , lihat dokumen KEDA upstream.
Azure Kubernetes Service