Bagikan melalui


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

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:

  1. Hidupkan ulang pod dengan menjalankan kubectl rollout restart deployment keda-operator -n kube-system.

  2. Dapatkan pod operator KEDA menggunakan kubectl get pod -n kube-system dan menemukan Pod yang dimulai dengan keda-operator.

  3. Verifikasi keberhasilan injeksi variabel lingkungan dengan menjalankan kubectl describe pod <keda-operator-pod> -n kube-system. Di bawah Environment, Anda akan melihat nilai untuk AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE, dan AZURE_AUTHORITY_HOST.

Membuat pasangan kunci SSH

  1. Navigasikan ke Azure Cloud Shell.

  2. 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

  1. Sebarkan templat ARM untuk kluster AKS.

  2. Pilih Edit templat.

  3. Aktifkan add-on KEDA dengan menentukan workloadAutoScalerProfile bidang dalam templat ARM, seperti yang diperlihatkan dalam contoh berikut:

        "workloadAutoScalerProfile": {
            "keda": {
                "enabled": true
            }
        }
    
  4. Pilih Simpan.

  5. 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.
  6. 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.