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
- U hebt een Azure-abonnement nodig. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.
- U moet de Azure CLI hebben geïnstalleerd.
- Zorg ervoor dat u firewallregels hebt geconfigureerd om toegang tot de Kubernetes-API-server toe te staan. Zie Regels voor uitgaand netwerk en FQDN voor AKS-clusters (Azure Kubernetes Service) voor meer informatie.
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:
Start de pods opnieuw door uit te voeren
kubectl rollout restart deployment keda-operator -n kube-system
.Haal KEDA-operatorpods op met behulp van
kubectl get pod -n kube-system
pods en zoek pods die beginnen metkeda-operator
.Controleer of de omgevingsvariabelen zijn geïnjecteerd door uit te voeren
kubectl describe pod <keda-operator-pod> -n kube-system
. OnderEnvironment
ziet u waarden voorAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
enAZURE_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
Maak een resourcegroep met behulp van de
az group create
opdracht.az group create --name myResourceGroup --location eastus
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 opworkloadAutoScalerProfile.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.
Azure Kubernetes Service