Share via


De Kubernetes-invoegtoepassing voor automatisch schalen (KEDA) installeren met behulp van de Azure CLI

In dit artikel leest u hoe u de invoegtoepassing Kubernetes Event-driven Autoscaling (KEDA) installeert in Azure Kubernetes Service (AKS) met behulp van de Azure CLI.

Belangrijk

De Kubernetes-versie van uw cluster bepaalt welke KEDA-versie op uw AKS-cluster wordt geïnstalleerd. Als u wilt zien welke KEDA-versie aan elke AKS-versie wordt toegewezen, raadpleegt u de kolom met door AKS beheerde invoegtoepassingen van de versietabel van het Kubernetes-onderdeel.

Voor GA Kubernetes-versies biedt AKS volledige ondersteuning voor de bijbehorende secundaire KEDA-versie in de tabel. Kubernetes Preview-versies en de nieuwste KEDA-patch worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

Notitie

KEDA versie 2.15 introduceert een belangrijke wijziging waarmee ondersteuning voor pod-identiteiten wordt verwijderd. We raden u aan over te stappen naar de workloadidentiteit voor uw verificatie als u pod-identiteit gebruikt. Hoewel de door KEDA beheerde invoegtoepassing momenteel niet wordt uitgevoerd op KEDA versie 2.15, wordt deze uitgevoerd in de AKS preview-versie 1.31.

Lees onze zelfstudie voor meer informatie over het veilig schalen van uw toepassingen met workloadidentiteit. Lees de officiële documentatie van KEDA om het belangrijke wijzigings-/afschaffingsbeleid van KEDA weer te geven.

Voordat u begint

Notitie

Als u Microsoft Entra Workload-ID gebruikt en KEDA inschakelt voordat Workload-ID, moet u de KEDA-operatorpods opnieuw starten, zodat de juiste omgevingsvariabelen kunnen worden geïnjecteerd:

  1. Start de pods opnieuw door uit te voeren kubectl rollout restart deployment keda-operator -n kube-system.

  2. Haal KEDA-operatorpods op met behulp van kubectl get pod -n kube-system pods en zoek pods die beginnen met keda-operator.

  3. Controleer of de omgevingsvariabelen zijn geïnjecteerd door uit te voeren kubectl describe pod <keda-operator-pod> -n kube-system. Onder Environmentziet u waarden voor AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEen AZURE_AUTHORITY_HOST.

De KEDA-invoegtoepassing installeren met Azure CLI

Als u de KEDA-invoegtoepassing wilt installeren, gebruikt --enable-keda u deze bij het maken of bijwerken van een cluster.

De KEDA-invoegtoepassing inschakelen op uw AKS-cluster

Notitie

Hoewel KEDA verschillende aanpassingsopties biedt, biedt de KEDA-invoegtoepassing momenteel algemene basisconfiguratie.

Als u aangepaste configuraties nodig hebt, kunt u de KEDA YAML-bestanden handmatig bewerken om de installatie aan te passen. Azure biedt geen ondersteuning voor aangepaste configuraties.

Een nieuw AKS-cluster maken waarvoor KEDA-invoegtoepassing is ingeschakeld

  1. Maak een resourcegroep met behulp van de az group create opdracht.

    az group create --name myResourceGroup --location eastus
    
  2. Maak een nieuw AKS-cluster met behulp van de az aks create opdracht en schakel de KEDA-invoegtoepassing in met behulp van de --enable-keda vlag.

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

De KEDA-invoegtoepassing inschakelen op een bestaand AKS-cluster

  • Werk een bestaand cluster bij met behulp van de az aks update opdracht en schakel de KEDA-invoegtoepassing in met behulp van de --enable-keda vlag.

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

De referenties voor uw cluster ophalen

  • Haal de referenties voor uw AKS-cluster op met behulp van de az aks get-credentials opdracht.

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

Controleer of de KEDA-invoegtoepassing is geïnstalleerd op uw cluster

  • Controleer of de KEDA-invoegtoepassing is geïnstalleerd op uw cluster met behulp van de az aks show opdracht en stel de --query parameter in op workloadAutoScalerProfile.keda.enabled.

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

    In de volgende voorbeelduitvoer ziet u dat de KEDA-invoegtoepassing is geïnstalleerd op het cluster:

    true
    

Controleren of KEDA wordt uitgevoerd op uw cluster

  • Controleer of de KEDA-invoegtoepassing wordt uitgevoerd op uw cluster met behulp van de kubectl get pods opdracht.

    kubectl get pods -n kube-system 
    

    In de volgende voorbeelduitvoer ziet u dat de KEDA-operator, de toegangshook en de API-server voor metrische gegevens zijn geïnstalleerd op het cluster:

    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
    

De KEDA-versie op uw cluster controleren

Als u de versie van uw KEDA wilt controleren, gebruikt u kubectl get crd/scaledobjects.keda.sh -o yaml . Voorbeeld:

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

In de volgende voorbeelduitvoer ziet u de configuratie van KEDA in het app.kubernetes.io/version label:

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

De KEDA-invoegtoepassing op uw AKS-cluster uitschakelen

  • Schakel de KEDA-invoegtoepassing op uw cluster uit met behulp van de az aks update opdracht met de --disable-keda vlag.

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

Volgende stappen

In dit artikel hebt u gezien hoe u de KEDA-invoegtoepassing installeert op een AKS-cluster met behulp van de Azure CLI.

Als de KEDA-invoegtoepassing op uw cluster is geïnstalleerd, kunt u een voorbeeldtoepassing implementeren om apps te schalen.

Zie De invoegtoepassing Kubernetes Event-driven Autoscaling (KEDA) oplossen voor meer informatie over het oplossen van problemen met KEDA.

Bekijk de upstream KEDA-documenten voor meer informatie.