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).

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 metrische adapter zijn.

Diagram that shows the architecture of K E D A and how it extends Kubernetes instead of re-inventing the wheel.

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 metScaledObjects, 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 metric-server toegestaan in het Kubernetes-cluster. Daarom moet de KEDA-invoegtoepassing de enige metrics-gegevensserver in 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:

  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.

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