KEDA (original) (raw)

KEDA home hero logo

Kubernetes Event-driven Autoscaling

Application autoscaling made simple

What is KEDA?

KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, you can drive the scaling of any container in Kubernetes based on the number of events needing to be processed.

KEDA is a single-purpose and lightweight component that can be added into any Kubernetes cluster. KEDA works alongside standard Kubernetes components like the Horizontal Pod Autoscaler and can extend functionality without overwriting or duplication. With KEDA you can explicitly map the apps you want to use event-driven scale, with other apps continuing to function. This makes KEDA a flexible and safe option to run alongside any number of any other Kubernetes applications or frameworks.

Features

Autoscaling Made Simple

Bring rich scaling to every workload in your Kubernetes cluster

Event-driven

Intelligently scale your event-driven application

Built-in Scalers

Catalog of 50+ built-in scalers for various cloud platforms, databases, messaging systems, telemetry systems, CI/CD, and more

Multiple Workload Types

Support for variety of workload types such as deployments, jobs & custom resources with /scale sub-resource

Reduce environmental impact

Build sustainable platforms by optimizing workload scheduling and scale-to-zero

Extensible

Bring-your-own or use community-maintained scalers

Vendor-Agnostic

Support for triggers across variety of cloud providers & products

Azure Functions Support

Run and scale your Azure Functions on Kubernetes in production workloads

Scaling New Heights with KEDA: Performance, Extensions, and Beyond

From KubeCon Europe 2024

Exploring KEDA's Graduation and Advancements in Event-Driven Scaling

From KubeCon North America 2023

Scalers

Scalers represent event sources that KEDA can scale based on

ActiveMQ

Scale applications based on ActiveMQ Queue.

Apache Kafka

Scale applications based on an Apache Kafka topic or other services that support Kafka protocol.

Apache Kafka (Experimental)

Experimental scaler based on ‘segmentio/kafka-go’ library. Scale applications based on an Apache Kafka topic or other services that support Kafka protocol.

Apache Pulsar

Scale applications based on an Apache Pulsar topic subscription.

ArangoDB

Scale applications based on ArangoDB query result.

AWS DynamoDB

Scale applications based on the records count in AWS DynamoDB

Azure Blob Storage

Scale applications based on the count of blobs in a given Azure Blob Storage container.

Azure Pipelines

Scale applications based on agent pool queues for Azure Pipelines.

Beanstalkd

Scale applications based on beanstalkd queues

Cassandra

Scale applications based on Cassandra query results.

CouchDB

Scale applications based on CouchDB query results.

CPU

Scale applications based on cpu metrics.

Cron

Scale applications based on a cron schedule.

Datadog

Scale applications based on Datadog.

Dynatrace

Scale applications based on Dynatrace metric data points

Elasticsearch

Scale applications based on ’elasticsearch search template query’ or ’elasticsearch query’ result.

Etcd

Scale applications based on an etcd key-value pair. By watching an etcd key, a passively received push mode, the scaler can activate applications with lower load usage than frequent pull mode

External

Scale applications based on an external scaler.

External Push

Scale applications based on an external push scaler.

Graphite

Scale applications based on metrics in Graphite.

IBM MQ

Scale applications based on IBM MQ Queue

InfluxDB

Scale applications based on InfluxDB queries

Kubernetes Workload

Scale applications based on the count of running pods that match the given selectors.

Loki

Scale applications based on Loki query result.

Memory

Scale applications based on memory metrics.

Metrics API

Scale applications based on a metric provided by an API

MongoDB

Scale applications based on MongoDB queries.

MSSQL

Scale applications based on Microsoft SQL Server (MSSQL) query results.

MySQL

Scale applications based on MySQL query result.

New Relic

Scale applications based on New Relic NRQL

OpenStack Metric

Scale applications based on a threshold reached by a specific measure from OpenStack Metric API.

OpenStack Swift

Scale applications based on the count of objects in a given OpenStack Swift container.

PostgreSQL

Scale applications based on a PostgreSQL query.

Predictkube

AI-based predictive scaling based on Prometheus metrics & PredictKube SaaS.

Prometheus

Scale applications based on Prometheus.

Selenium Grid Scaler

Scales Selenium browser nodes based on number of requests waiting in session queue

Solr

Scale applications based on Solr query results.

Splunk

Scale applications based on Splunk saved search results.

Users

A variety of users are autoscaling applications with KEDA:


Partners

KEDA is supported by and built by our community, including the following companies:

Logo

Logo


Supported by

KEDA is supported by the following companies that provide their services for free: