Menü
Developer

Microsoft verspricht event-getriebenes Autoscaling für Kubernetes

Mit dem von Red Hat unterstützten Open-Source-Projekt KEDA will Microsoft die Container-Skalierung in Kubernetes-Clustern automatisieren.

vorlesen Drucken Kommentare lesen 4 Beiträge

KEDA – Kubernetes-based event-driven autoscaling – ist ein neues, von Microsoft und Red Hat auf den Weg gebrachtes Open-Source-Projekt, das Entwicklern die Möglichkeit eröffnet, ereignisgesteuerte Serverless-Anwendungen auf Basis der Containerorchestrierung Kubernetes zu deployen. Anstelle der bisher reaktiven Skalierung von Kubernetes, die sich primär an der CPU- und Speicherauslastung orientiert, eröffnet KEDA eine an den eingehenden Events ausgerichtete frühzeitigere Anpassung der Containerinstanzen im Kubernetes-Cluster – vergleichbar zu Serverless-Diensten wie Azure Functions.

Während bisherige Ansätze, die aus unterschiedlichen Quellen eingehenden Ereignisse direkt in Container einzubringen, in der Regel die Konvertierung des Ereignisses in eine HTTP-Anfrage voraussetzen, soll KEDA eine direkte Verbindung ermöglichen. Dadurch bleiben nach Einschätzung der Microsoft-Entwickler vor allem die Daten und der Kontext der jeweiligen Quelle erhalten, sodass KEDA unmittelbar auf Event-Metriken wie die Länge eines Kafka Stream oder einer Azure Queue reagieren kann. So sei eine schnelle und proaktive Skalierung auf Basis der direkten Interaktion mit dem Ereignis möglich. Zumal die Erfahrungen mit Azure Functions gezeigt hätten, dass in der Regel nur rund 30 Prozent der Ausführungen auf HTTP-Events zurückzuführen seien, während die Mehrheit aus anderen Quellen kommt.

KEDA: event-getriebenes Autoscaling im Kubernetes-Cluster

(Bild: Microsoft)

KEDA übernimmt die Skalierung von Container-Instanzen für ereignisgesteuerte und Cloud-Anwendungen, lässt sich flexibel um weitere Ereignisquellen erweitern und arbeitet mit Virtual Kubelet und AKS Virtual Nodes zusammen, sodass sich ereignisgesteuerten Anwendungen auf serverlosen Containern ausführen lassen. Auch Azure Functions können damit containerisiert über On-Premises- und Cloud-Umgebungen wie Azure Kubernetes Service und Red Hat OpenShift hinweg deployt werden.

Neue Deployments erkennt KEDA automatisch und startet das Monitoring der verschiedenen Ereignisquellen. Derzeit unterstützt das Projekt Kafka, Azure Queues, Azure Service Bus, RabbitMQ, HTTP und Azure Event Grid/Cloud Events – weitere sollen folgen. KEDA steht als Open Source frei auf GitHub zur Verfügung. Nähere Informationen zum Projekt finden sich im Microsoft-Blog. Als Anleitung für erste Schritte zum Einsatz von KEDA stellt das Entwicklerteam darüber hinaus ein Tutorial bereit. (map)