Instalace doplňku KeDA (Event driven Autoscaling) Kubernetes pomocí Azure CLI

V tomto článku se dozvíte, jak pomocí Azure CLI nainstalovat doplněk KeDA (Event driven Autoscaling) Kubernetes Service (KEDA) do služby Azure Kubernetes Service (AKS).

Důležité

Verze Kubernetes vašeho clusteru určuje, jaká verze KEDA se nainstaluje v clusteru AKS. Pokud chcete zjistit, která verze KEDA se mapuje na každou verzi AKS, podívejte se na sloupec spravovaných doplňků AKS v tabulce verzí komponent Kubernetes.

Pro verze GA Kubernetes nabízí AKS plnou podporu odpovídající podverze KEDA v tabulce. Verze Kubernetes Preview a nejnovější opravy KEDA jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Poznámka:

KEDA verze 2.15 zavádí zásadní změnu, která odstraňuje podporu identit podů. Pokud používáte identitu podu, doporučujeme přejít na identitu úloh pro vaše ověřování. I když spravovaný doplněk KEDA aktuálně nespouští KEDA verze 2.15, začne ho spouštět ve verzi AKS Preview 1.31.

Další informace o tom, jak bezpečně škálovat aplikace pomocí identity úloh, najdete v našem kurzu. Pokud si chcete prohlédnout zásady zásadních změn nebo vyřazení ke službě KEDA, přečtěte si oficiální dokumentaci.

Než začnete

Poznámka:

Pokud používáte ID úloh Microsoft Entra a před ID úloh povolíte KEDA, musíte restartovat pody operátoru KEDA, aby bylo možné vloženého správné proměnné prostředí:

  1. Restartujte pody spuštěním kubectl rollout restart deployment keda-operator -n kube-systempříkazu .

  2. Získejte pody operátorů KEDA pomocí kubectl get pod -n kube-system a hledání podů, které začínají keda-operator.

  3. Spuštěním kubectl describe pod <keda-operator-pod> -n kube-systempříkazu ověřte úspěšné injektáže proměnných prostředí . V části Environmentby se měly zobrazit hodnoty pro AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEa AZURE_AUTHORITY_HOST.

Instalace doplňku KEDA pomocí Azure CLI

Pokud chcete nainstalovat doplněk KEDA, použijte --enable-keda při vytváření nebo aktualizaci clusteru.

Povolení doplňku KEDA v clusteru AKS

Poznámka:

I když KEDA nabízí různé možnosti přizpůsobení, doplněk KEDA v současné době poskytuje základní společnou konfiguraci.

Pokud potřebujete vlastní konfigurace, můžete ručně upravit soubory KEDA YAML a přizpůsobit tak instalaci. Azure nenabízí podporu vlastních konfigurací.

Vytvoření nového clusteru AKS s povoleným doplňkem KEDA

  1. Pomocí příkazu vytvořte skupinu az group create prostředků.

    az group create --name myResourceGroup --location eastus
    
  2. Pomocí příkazu vytvořte nový cluster az aks create AKS a povolte doplněk KEDA pomocí příznaku --enable-keda .

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

Povolení doplňku KEDA v existujícím clusteru AKS

  • Pomocí příkazu aktualizujte existující cluster az aks update a povolte doplněk KEDA pomocí příznaku --enable-keda .

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

Získání přihlašovacích údajů pro cluster

  • Pomocí příkazu získejte přihlašovací údaje pro cluster az aks get-credentials AKS.

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

Ověřte, že je doplněk KEDA nainstalovaný ve vašem clusteru.

  • Pomocí příkazu ověřte, že je doplněk KEDA nainstalovaný v clusteruaz aks show, a nastavte parametr na workloadAutoScalerProfile.keda.enabled--query .

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

    Následující příklad výstupu ukazuje, že je doplněk KEDA nainstalovaný v clusteru:

    true
    

Ověření, že ve vašem clusteru běží KEDA

  • Pomocí příkazu ověřte, že je doplněk KEDA spuštěný ve vašem clusteru kubectl get pods .

    kubectl get pods -n kube-system 
    

    Následující příklad výstupu ukazuje operátor KEDA, server rozhraní API pro přístupy a metriky jsou nainstalované v clusteru:

    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
    

Ověření verze KEDA v clusteru

Pokud chcete ověřit verzi keda, použijte kubectl get crd/scaledobjects.keda.sh -o yaml . Příklad:

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

Následující příklad výstupu ukazuje konfiguraci KEDA v popisku app.kubernetes.io/version :

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

Zakázání doplňku KEDA v clusteru AKS

  • Pomocí příkazu s příznakem zakažte doplněk KEDA ve vašem clusteru az aks update --disable-keda .

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

Další kroky

Tento článek vám ukázal, jak nainstalovat doplněk KEDA do clusteru AKS pomocí Azure CLI.

S doplňkem KEDA nainstalovaným v clusteru můžete nasadit ukázkovou aplikaci , která začne škálovat aplikace.

Informace o řešení potíží keDA najdete v tématu Řešení potíží s doplňkem KeDA (Event-driven Autoscaling) Kubernetes (KEDA).

Další informace najdete v upstreamových dokumentech KEDA.