ARM şablonu kullanarak Kubernetes Olay Odaklı Otomatik Ölçeklendirme (KEDA) eklentisini yükleme

Bu makalede, ARM şablonu kullanarak Kubernetes Event-driven Autoscaling (KEDA) eklentisini Azure Kubernetes Service'e (AKS) nasıl dağıtabileceğiniz gösterilmektedir.

Önemli

Kümenizin Kubernetes sürümü, AKS kümenize hangi KEDA sürümünün yükleneceğini belirler. Hangi KEDA sürümünün her AKS sürümüne eşleneceğini görmek için Kubernetes bileşen sürümü tablosunun AKS tarafından yönetilen eklentiler sütununa bakın.

GA Kubernetes sürümleri için AKS, tablodaki ilgili KEDA ikincil sürümü için tam destek sunar. Kubernetes önizleme sürümleri ve en son KEDA düzeltme eki, müşteri desteği kapsamındadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

Not

KEDA sürüm 2.15, pod kimliği desteğini kaldıran bir hataya neden olan değişikliği tanıtır. Pod kimliği kullanıyorsanız kimlik doğrulamanız için iş yükü kimliğine geçmenizi öneririz. KEDA yönetilen eklentisi şu anda KEDA sürüm 2.15'i çalıştırmasa da, BUNU AKS önizleme sürümü 1.31'de çalıştırmaya başlar.

İş yükü kimliğiyle uygulamalarınızı güvenli bir şekilde ölçeklendirme hakkında daha fazla bilgi için lütfen öğreticimizi okuyun. KEDA'nın hataya neden olan değişiklik/kullanımdan kaldırma ilkesini görüntülemek için lütfen resmi belgelerini okuyun.

Başlamadan önce

  • Azure aboneliğine ihtiyacınız var. Azure aboneliğiniz yoksa ücretsiz hesap oluşturabilirsiniz.
  • Azure CLI'nın yüklü olması gerekir.
  • Bu makalede, mevcut bir Azure kaynak grubunuz olduğu varsayılır. Mevcut bir kaynak grubunuz yoksa komutunu kullanarak az group create bir kaynak grubu oluşturabilirsiniz.
  • Kubernetes API sunucusuna erişime izin verecek şekilde yapılandırılmış güvenlik duvarı kurallarınız olduğundan emin olun. Daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) kümeleri için giden ağ ve FQDN kuralları.
  • Bir SSH anahtar çifti oluşturun.

Not

Microsoft Entra İş Yükü Kimliği kullanıyorsanız ve İş Yükü Kimliği önce KEDA'yı etkinleştirirseniz, uygun ortam değişkenlerinin eklenebilmesi için KEDA işleç podlarını yeniden başlatmanız gerekir:

  1. komutunu çalıştırarak kubectl rollout restart deployment keda-operator -n kube-systempodları yeniden başlatın.

  2. kullanarak kubectl get pod -n kube-system KEDA işleç podlarını alın ve ile keda-operatorbaşlayan podları bulun.

  3. komutunu çalıştırarak kubectl describe pod <keda-operator-pod> -n kube-systemortam değişkenlerinin başarıyla eklenmesini doğrulayın. altında Environment, AZURE_FEDERATED_TOKEN_FILEve AZURE_AUTHORITY_HOSTdeğerlerini AZURE_TENANT_IDgörmeniz gerekir.

SSH anahtar çifti oluşturma

  1. Azure Cloud Shell’e gidin.

  2. komutunu kullanarak bir SSH anahtar çifti az sshkey create oluşturun.

    az sshkey create --name <sshkey-name> --resource-group <resource-group-name>
    

ARM şablonuyla KEDA eklentisini etkinleştirme

  1. AKS kümesi için ARM şablonunu dağıtma.

  2. Şablonu düzenle'yi seçin.

  3. AŞAĞıDAKI örnekte gösterildiği gibi ARM şablonunda alanı belirterek workloadAutoScalerProfile KEDA eklentisini etkinleştirin:

        "workloadAutoScalerProfile": {
            "keda": {
                "enabled": true
            }
        }
    
  4. Kaydet'i seçin.

  5. ARM şablonu için gerekli değerleri güncelleştirin:

    • Abonelik: Dağıtım için kullanılacak Azure aboneliğini seçin.
    • Kaynak grubu: Dağıtım için kullanılacak kaynak grubunu seçin.
    • Bölge: Dağıtım için kullanılacak bölgeyi seçin.
    • Dns Ön Eki: Küme için kullanılacak benzersiz bir DNS adı girin.
    • Linux Yöneticisi Kullanıcı Adı: Küme için bir kullanıcı adı girin.
    • SSH ortak anahtar kaynağı: Azure'da depolanan mevcut anahtarı kullan'ı seçin.
    • Anahtarları Depolama: Makalenin önceki bölümlerinde oluşturduğunuz anahtar çiftini seçin.
  6. Gözden geçir ve oluştur>Oluştur'u seçin.

AKS kümenize bağlanma

Yerel cihazınızdan Kubernetes kümesine bağlanmak için Kubernetes komut satırı istemcisi kubectl'yi kullanırsınız.

Azure Cloud Shell'i kullanıyorsanız kubectl zaten yüklüdür. Komutunu kullanarak az aks install-cli yerel olarak da yükleyebilirsiniz.

  • Kubernetes kümenize bağlanmak için yapılandırınkubectl, az aks get-credentials komutunu kullanın. Aşağıdaki örnek, MyResourceGroup'taki MyAKSCluster adlı AKS kümesinin kimlik bilgilerini alır:
az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster

Örnek dağıtım

Aşağıdaki kod parçacığı, üç DS2_v5 düğümden oluşan tek düğümlü bir havuz ile KEDA'nın etkinleştirildiği bir küme oluşturan örnek bir dağıtımdır.

{
    "$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"
            }
        }
    ]
}

KEDA ile uygulamaları ölçeklendirmeye başlama

Özel kaynak tanımlarını (CRD) kullanarak KEDA ile uygulamalarınızı otomatik olarak ölçekleyebilirsiniz. Daha fazla bilgi için KEDA belgelerine bakın.

Kaynak kaldırma

  • komutunu kullanarak az group delete kaynak grubunu ve tüm ilgili kaynakları kaldırın.

    az group delete --name <resource-group-name>
    

Sonraki adımlar

Bu makalede, BIR AKS kümesine KEDA eklentisinin nasıl yükleneceği ve ardından yüklenip çalıştırıldığını nasıl doğruladığınız gösterilir. Kümenizde KEDA eklentisi yüklüyse, uygulamaları ölçeklendirmeye başlamak için örnek bir uygulama dağıtabilirsiniz.

KEDA sorunlarını giderme hakkında bilgi için bkz . Kubernetes Olay Odaklı Otomatik Ölçeklendirme (KEDA) eklentisinin sorunlarını giderme.

Daha fazla bilgi edinmek için yukarı akış KEDA belgelerini görüntüleyin.