Vereinfachte automatische Anwendungsskalierung mit dem Kubernetes-Add-On für ereignisgesteuerte automatische Skalierung (Kubernetes Event-Driven Autoscaling, KEDA)
KEDA (Kubernetes-based Event Driven Autoscaling), ein Graduate-Projekt der CNCF, ist eine einfache Einzweckkomponente, die die Autoskalierung von Anwendungen erleichtern soll.
Sie wendet ereignisgestützte automatische Skalierung an, um Ihre Anwendung zu skalieren, um die Nachfrage auf nachhaltige und kostengünstige Weise mit Skalierung-bis-Null zu bedienen.
Das KEDA-Add-On vereinfacht diesen Vorgang weiter, indem es eine verwaltete KEDA-Installation bereitstellt, die Ihnen einen umfassenden Katalog von Azure KEDA-Skalierungen bietet, mit denen Sie Ihre Anwendungen in Ihrem AKS-Cluster (Azure Kubernetes Services) skalieren können.
Hinweis
In der KEDA Version 2.15 wird ein Breaking Change eingeführt, die Unterstützung von Pod-Identitäten entfernt. Es wird empfohlen, die Workloadidentität für Ihre Authentifizierung zu übertragen, wenn Sie die Pod-Identität verwenden. Während das von KEDA verwaltete Add-On derzeit nicht KEDA Version 2.15 ausführt, wird es ab der AKS-Vorschauversion 1.31 ausgeführt.
Weitere Informationen zum sicheren Skalieren Ihrer Anwendungen mit Workloadidentität finden Sie in unserem Tutorial. Lesen Sie die offizielle Dokumentation von KEDA, um den Breaking Change bzw. die Einstellungsrichtlinie von KEDA anzuzeigen.
Aufbau
KEDA bietet zwei Hauptkomponenten:
- Der KEDA-Operator ermöglicht es Endbenutzer*innen, Workloads von 0 bis N-Instanzen mit Unterstützung für Kubernetes-Bereitstellungen, -Aufträge, -StatefulSets oder alle benutzerdefinierten Ressourcen, die die Unterressource
/scale
definieren, hoch oder herunter zu skalieren. - Der Metrikserver stellt dem HPA (Horizontal Pod Autoscaler) in Kubernetes externe Metriken wie Meldungen in einem Kafka-Thema oder die Anzahl der Ereignisse in einem Azure Event Hub zum Zweck der automatischen Skalierung zur Verfügung. Aufgrund von Upstream-Einschränkungen muss KEDA der einzige installierte externe Metrikadapter sein.
Erfahren Sie mehr über die Funktionsweise von KEDA in der offiziellen KEDA-Dokumentation.
Installation
KEDA kann Ihrem AKS-Cluster (Azure Kubernetes Service) hinzugefügt werden, indem das KEDA-Add-On mithilfe einer ARM-Vorlage oder der Azure CLI aktiviert wird.
Das KEDA-Add-On bietet eine vollständig unterstützte Installation von KEDA, die in AKS integriert ist.
Funktionen und Features
KEDA bietet die folgenden Funktionen und Features:
- Erstellen von nachhaltigen und kosteneffizienten Anwendungen mit Skalierung bis Null
- Bedarfsgesteuertes Skalieren von Anwendungsworkloads mithilfe eines umfassenden Katalogs von Azure KEDA-Skalierungen
- Führen Sie automatische Skalierung von Anwendungen mit
ScaledObjects
durch, wie Bereitstellungen, StatefulSets oder beliebigen benutzerdefinierten Ressourcen, die die/scale
-Unterressource definieren - Automatische Skalierung von auftragsartigen Workloads mit
ScaledJobs
- Verwenden Sie Sicherheit auf Produktionsniveau, indem Sie die automatische Authentifizierung von den Workloads entkoppeln.
- Verwenden Sie eine eigene externe Skalierung, um mit bei der automatischen Skalierung mit maßgeschneiderten Entscheidungen zu arbeiten
- Integration mit Microsoft Entra Workload ID für die Authentifizierung
Hinweis
Wenn Sie die Workloadidentität verwenden möchten, aktivieren Sie das Workload ID-Add-On, bevor Sie das KEDA-Add-On aktivieren.
Add-On-Einschränkungen
Für das KEDA-AKS-Add-On gelten die folgenden Einschränkungen:
- Das HTTP-Add-On (Vorschau) von KEDA zum Skalieren von HTTP-Workloads wird nicht zusammen mit der Erweiterung installiert sondern kann separat bereitgestellt werden.
- Die externe Skalierung für Azure Cosmos DB von KEDA für die Skalierung auf der Grundlage des Azure Cosmos DB-Änderungsfeeds wird nicht zusammen mit der Erweiterung installiert sondern kann separat bereitgestellt werden.
- Nur ein externer Metrikserver ist im Kubernetes-Cluster zulässig. Aus diesem Grund sollte das KEDA-Add-On den einzigen externen Metrikserver innerhalb des Clusters bilden.
- Mehrfachinstallationen von KEDA werden nicht unterstützt.
Zu allgemeinen KEDA-Fragen empfehlen wir den Besuch der FAQ-Übersicht.
Hinweis
Wenn Sie Microsoft Entra Workload ID verwenden und KEDA vor Workload ID aktivieren, müssen Sie die KEDA-Operatorpods neu starten, damit die richtigen Umgebungsvariablen eingefügt werden können:
Sie starten die Pods neu, indem Sie
kubectl rollout restart deployment keda-operator -n kube-system
ausführen.Rufen Sie die KEDA-Operatorpods mit
kubectl get pod -n kube-system
ab, und suchen Sie nach Pods, die mitkeda-operator
beginnen.Überprüfen Sie die erfolgreiche Einfügung der Umgebungsvariablen durch Ausführen von
kubectl describe pod <keda-operator-pod> -n kube-system
. UnterEnvironment
sollten Werte fürAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
undAZURE_AUTHORITY_HOST
angezeigt werden.
Unterstützte Kubernetes- und KEDA-Versionen
Die Kubernetes-Version Ihres Clusters bestimmt, welche KEDA-Version in Ihrem AKS-Cluster installiert wird. Informationen dazu, welche KEDA-Version welcher AKS-Version zugeordnet ist, finden Sie in der Spalte Verwaltete AKS-Add-Ons der Tabelle mit den Kubernetes-Komponentenversionen.
Für Kubernetes-Versionen mit allgemeiner Verfügbarkeit (GA) bietet AKS volle Unterstützung für die entsprechende KEDA-Nebenversion in der Tabelle. Kubernetes-Vorschauversionen und der neueste KEDA-Patch werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Nächste Schritte
- Aktivieren des KEDA-Add-Ons mit einer ARM-Vorlage
- Aktivieren des KEDA-Add-Ons mit der Azure CLI
- Problembehandlung bei KEDA-Add-On-Problemen
- Automatische Skalierung eines .NET Core-Workers, der Nachrichten der Azure Service Bus-Warteschlange verarbeitet
- Sehen Sie sich die KEDA-Upstreamdokumentation an.
Azure Kubernetes Service