Vereenvoudigd automatisch schalen van toepassingen met de invoegtoepassing Kubernetes Gebeurtenisgestuurde Automatische schaalaanpassing (KEDA)
Kubernetes Event-driven Autoscaling (KEDA) is een enkel doeleinde en lichtgewicht onderdeel dat ernaar streeft om automatisch schalen van toepassingen eenvoudig te maken en is een CNCF Graduate-project.
Er wordt automatisch schalen op basis van gebeurtenissen toegepast om uw toepassing te schalen om te voldoen aan de vraag op een duurzame en kostenefficiënte manier met schalen naar nul.
De KEDA-invoegtoepassing maakt het nog eenvoudiger door een beheerde KEDA-installatie te implementeren, zodat u beschikt over een uitgebreide catalogus met Azure KEDA-scalers waarmee u uw toepassingen kunt schalen op uw Azure Kubernetes Services-cluster (AKS).
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.
Architectuur
KEDA biedt twee hoofdonderdelen:
- Met de KEDA-operator kunnen eindgebruikers workloads in-/uitschalen van 0 naar N-exemplaren met ondersteuning voor Kubernetes-implementaties, taken, StatefulSets of een aangepaste resource die subresource definieert
/scale
. - De metrische server maakt externe metrische gegevens beschikbaar voor Horizontale schaalaanpassing van pods (HPA) in Kubernetes voor automatische schaalaanpassing, zoals berichten in een Kafka-onderwerp of het aantal gebeurtenissen in een Azure Event Hub. Vanwege upstream-beperkingen moet KEDA de enige geïnstalleerde externe metrische adapter zijn.
Meer informatie over hoe KEDA werkt in de officiële KEDA-documentatie.
Installatie
KEDA kan worden toegevoegd aan uw AKS-cluster (Azure Kubernetes Service) door de KEDA-invoegtoepassing in te schakelen met behulp van een ARM-sjabloon of Azure CLI.
De KEDA-invoegtoepassing biedt een volledig ondersteunde installatie van KEDA die is geïntegreerd met AKS.
Mogelijkheden en functies
KEDA biedt de volgende mogelijkheden en functies:
- Duurzame en kostenefficiënte toepassingen bouwen met scale-to-zero
- Toepassingsworkloads schalen om te voldoen aan de vraag met behulp van een uitgebreide catalogus met Azure KEDA-schaalders
- Toepassingen automatisch schalen met
ScaledObjects
, zoals Implementaties, StatefulSets of een aangepaste resource die subresource definieert/scale
- Taakachtige workloads automatisch schalen met
ScaledJobs
- Beveiliging op productieniveau gebruiken door automatische schaalaanpassing van verificatie van workloads te ontkoppelen
- Bring-your-own external scaler to use tailor-made autoscaling decisions
- Integreren met Microsoft Entra Workload-ID voor verificatie
Notitie
Als u van plan bent om de workloadidentiteit te gebruiken, schakelt u de invoegtoepassing workloadidentiteit in voordat u de KEDA-invoegtoepassing inschakelt.
Beperkingen voor invoegtoepassingen
De KEDA AKS-invoegtoepassing heeft de volgende beperkingen:
- De HTTP-invoegtoepassing (preview) van KEDA om HTTP-workloads te schalen wordt niet met de extensie geïnstalleerd, maar kan afzonderlijk worden geïmplementeerd.
- De externe KEDA-scaler voor Azure Cosmos DB om te schalen op basis van de wijzigingsfeed van Azure Cosmos DB wordt niet geïnstalleerd met de extensie, maar kan afzonderlijk worden geïmplementeerd.
- Er is slechts één externe metrische server toegestaan in het Kubernetes-cluster. Daarom moet de KEDA-invoegtoepassing de enige externe metrische server binnen het cluster zijn.
- Meerdere KEDA-installaties worden niet ondersteund
Voor algemene KEDA-vragen raden we u aan het overzicht van veelgestelde vragen te bezoeken.
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
.
Ondersteunde Kubernetes- en KEDA-versies
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:
Volgende stappen
Azure Kubernetes Service