Simplified application autoscaling with Kubernetes Event-driven Autoscaling (KEDA) add-on (Preview)

Kubernetes Event-driven Autoscaling (KEDA) is a single-purpose and lightweight component that strives to make application autoscaling simple and is a CNCF Incubation project.

It applies event-driven autoscaling to scale your application to meet demand in a sustainable and cost-efficient manner with scale-to-zero.

The KEDA add-on makes it even easier by deploying a managed KEDA installation, providing you with a rich catalog of 50+ KEDA scalers that you can scale your applications with on your Azure Kubernetes Services (AKS) cluster.

Important

AKS preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS previews are partially covered by customer support on a best-effort basis. As such, these features aren't meant for production use. For more information, see the following support articles:

Architecture

KEDA provides two main components:

  • KEDA operator allows end-users to scale workloads in/out from 0 to N instances with support for Kubernetes Deployments, Jobs, StatefulSets or any custom resource that defines /scale subresource.
  • Metrics server exposes external metrics to Horizontal Pod Autoscaler (HPA) in Kubernetes for autoscaling purposes such as messages in a Kafka topic, or number of events in an Azure event hub. Due to upstream limitations, KEDA must be the only installed metric adapter.

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

Learn more about how KEDA works in the official KEDA documentation.

Installation and version

Important

The KEDA add-on installs version 2.7.0 of KEDA on your cluster.

Due to KEDA's Kubernetes Compatibility policy, the managed KEDA addon is will only be supported in Kubernetes versions <= 1.25 when generally available. Please follow the release notes to be notified for additional Kubernetes version support.

KEDA can be added to your Azure Kubernetes Service (AKS) cluster by enabling the KEDA add-on using an ARM template or Azure CLI.

The KEDA add-on provides a fully supported installation of KEDA that is integrated with AKS.

Capabilities and features

KEDA provides the following capabilities and features:

  • Build sustainable and cost-efficient applications with scale-to-zero
  • Scale application workloads to meet demand using a rich catalog of 50+ KEDA scalers
  • Autoscale applications with ScaledObjects, such as Deployments, StatefulSets or any custom resource that defines /scale subresource
  • Autoscale job-like workloads with ScaledJobs
  • Use production-grade security by decoupling autoscaling authentication from workloads
  • Bring-your-own external scaler to use tailor-made autoscaling decisions

Add-on limitations

The KEDA AKS add-on has the following limitations:

  • KEDA's HTTP add-on (preview) to scale HTTP workloads isn't installed with the extension, but can be deployed separately.
  • KEDA's external scaler for Azure Cosmos DB to scale based on Azure Cosmos DB change feed isn't installed with the extension, but can be deployed separately.
  • Only one metric server is allowed in the Kubernetes cluster. Because of that the KEDA add-on should be the only metrics server inside the cluster.
    • Multiple KEDA installations aren't supported
  • Managed identity isn't supported.

For general KEDA questions, we recommend visiting the FAQ overview.

Next steps