Azure CLI kullanarak Kubernetes Olay Odaklı Otomatik Ölçeklendirme (KEDA) eklentisini yükleme

Bu makalede, Azure CLI kullanarak Azure Kubernetes Service'e (AKS) Kubernetes Event-driven Autoscaling (KEDA) eklentisinin nasıl yükleneceği 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.
  • 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ı.

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.

Azure CLI ile KEDA eklentisini yükleme

KEDA eklentisini yüklemek için küme oluştururken veya güncelleştirirken kullanın --enable-keda .

AKS kümenizde KEDA eklentisini etkinleştirme

Not

KEDA çeşitli özelleştirme seçenekleri sağlarken, KEDA eklentisi şu anda temel ortak yapılandırmayı sağlar.

Özel yapılandırmalara ihtiyacınız varsa, yüklemeyi özelleştirmek için KEDA YAML dosyalarını el ile düzenleyebilirsiniz. Azure, özel yapılandırmalar için destek sunmaz.

KEDA eklentisi etkinleştirilmiş yeni bir AKS kümesi oluşturma

  1. komutunu kullanarak az group create bir kaynak grubu oluşturun.

    az group create --name myResourceGroup --location eastus
    
  2. komutunu kullanarak az aks create yeni bir AKS kümesi oluşturun ve bayrağını kullanarak KEDA eklentisini --enable-keda etkinleştirin.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --enable-keda \
        --generate-ssh-keys
    

Mevcut aks kümesinde KEDA eklentisini etkinleştirme

  • komutunu kullanarak mevcut kümeyi güncelleştirin az aks update ve bayrağını kullanarak KEDA eklentisini --enable-keda etkinleştirin.

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --enable-keda 
    

Kümenizin kimlik bilgilerini alma

  • komutunu kullanarak az aks get-credentials AKS kümenizin kimlik bilgilerini alın.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

KÜMEnizde KEDA eklentisinin yüklü olduğunu doğrulayın

  • komutunu kullanarak KEDA eklentisinin az aks show kümenizde yüklü olduğunu doğrulayın ve parametresini --query olarak workloadAutoScalerProfile.keda.enabledayarlayın.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled" 
    

    Aşağıdaki örnek çıktıda, kümede KEDA eklentisinin yüklü olduğu gösterilmektedir:

    true
    

KÜMEnizde KEDA'nın çalıştığını doğrulayın

  • komutunu kullanarak kümenizde KEDA eklentisinin kubectl get pods çalıştığını doğrulayın.

    kubectl get pods -n kube-system 
    

    Aşağıdaki örnek çıktıDA işlecini, erişim kancasını ve ölçümLER API'sinin kümeye yüklendiğini gösterir:

    keda-admission-webhooks-**********-2n9zl           1/1     Running   0            3d18h
    keda-admission-webhooks-**********-69dkg           1/1     Running   0            3d18h
    keda-operator-*********-4hb5n                      1/1     Running   0            3d18h
    keda-operator-*********-pckpx                      1/1     Running   0            3d18h
    keda-operator-metrics-apiserver-**********-gqg4s   1/1     Running   0            3d18h
    keda-operator-metrics-apiserver-**********-trfcb   1/1     Running   0            3d18h
    

Kümenizdeki KEDA sürümünü doğrulama

KEDA'nızın sürümünü doğrulamak için kullanın kubectl get crd/scaledobjects.keda.sh -o yaml . Örneğin:

kubectl get crd/scaledobjects.keda.sh -o yaml 

Aşağıdaki örnek çıktı, etiketteki app.kubernetes.io/version KEDA yapılandırmasını gösterir:

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.9.0
    meta.helm.sh/release-name: aks-managed-keda
    meta.helm.sh/release-namespace: kube-system
  creationTimestamp: "2023-08-09T15:58:56Z"
  generation: 1
  labels:
    app.kubernetes.io/component: operator
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: keda-operator
    app.kubernetes.io/part-of: keda-operator
    app.kubernetes.io/version: 2.10.1
    helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
    helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
  name: scaledobjects.keda.sh
  resourceVersion: "1421"
  uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
  conversion:
    strategy: None
  group: keda.sh
  names:
    kind: ScaledObject
    listKind: ScaledObjectList
    plural: scaledobjects
    shortNames:
    - so
    singular: scaledobject
  scope: Namespaced
  # Redacted due to length

AKS kümenizde KEDA eklentisini devre dışı bırakma

  • bayrağıyla komutunu kullanarak kümenizdeki KEDA eklentisini az aks update --disable-keda devre dışı bırakın.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --disable-keda 
    

Sonraki adımlar

Bu makalede, Azure CLI kullanarak BIR AKS kümesine KEDA eklentisinin nasıl yükleneceği gösterildi.

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.