|
| 1 | +--- |
| 2 | +title: Kubernetes Event-driven Autoscaling (KEDA) (Preview) |
| 3 | +description: Simplified application autoscaling with Kubernetes Event-driven Autoscaling (KEDA) add-on. |
| 4 | +services: container-service |
| 5 | +author: tomkerkhove |
| 6 | +ms.topic: article |
| 7 | +ms.date: 05/24/2022 |
| 8 | +ms.author: tomkerkhove |
| 9 | +--- |
| 10 | + |
| 11 | +# Simplified application autoscaling with Kubernetes Event-driven Autoscaling (KEDA) add-on (Preview) |
| 12 | + |
| 13 | +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. |
| 14 | + |
| 15 | +It applies event-driven autoscaling to scale your application to meet demand in a sustainable and cost-efficient manner with scale-to-zero. |
| 16 | + |
| 17 | +The KEDA add-on makes it even easier by deploying a managed KEDA installation, providing you with [a rich catalog of 50+ KEDA scalers][keda-scalers] that you can scale your applications with on your Azure Kubernetes Services (AKS) cluster. |
| 18 | + |
| 19 | +[!INCLUDE [preview features callout](./includes/preview/preview-callout.md)] |
| 20 | + |
| 21 | +## Architecture |
| 22 | + |
| 23 | +[KEDA][keda] provides two main components: |
| 24 | + |
| 25 | +- **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. |
| 26 | +- **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. |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +Learn more about how KEDA works in the [official KEDA documentation][keda-architecture]. |
| 31 | + |
| 32 | +## Installation and version |
| 33 | + |
| 34 | +KEDA can be added to your Azure Kubernetes Service (AKS) cluster by enabling the KEDA add-on using an [ARM template][keda-arm]. |
| 35 | + |
| 36 | +The KEDA add-on provides a fully supported installation of KEDA that is integrated with AKS. |
| 37 | + |
| 38 | +[!INCLUDE [Current version callout](./includes/keda/current-version-callout.md)] |
| 39 | + |
| 40 | +## Capabilities and features |
| 41 | + |
| 42 | +KEDA provides the following capabilities and features: |
| 43 | + |
| 44 | +- Build sustainable and cost-efficient applications with scale-to-zero |
| 45 | +- Scale application workloads to meet demand using [a rich catalog of 50+ KEDA scalers][keda-scalers] |
| 46 | +- Autoscale applications with `ScaledObjects`, such as Deployments, StatefulSets or any custom resource that defines `/scale` subresource |
| 47 | +- Autoscale job-like workloads with `ScaledJobs` |
| 48 | +- Use production-grade security by decoupling autoscaling authentication from workloads |
| 49 | +- Bring-your-own external scaler to use tailor-made autoscaling decisions |
| 50 | + |
| 51 | +## Add-on limitations |
| 52 | + |
| 53 | +The KEDA AKS add-on has the following limitations: |
| 54 | + |
| 55 | +* KEDA's [HTTP add-on (preview)][keda-http-add-on] to scale HTTP workloads isn't installed with the extension, but can be deployed separately. |
| 56 | +* KEDA's [external scaler for Azure Cosmos DB][keda-cosmos-db-scaler] to scale based on Azure Cosmos DB change feed isn't installed with the extension, but can be deployed separately. |
| 57 | +* 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. |
| 58 | + * Multiple KEDA installations aren't supported |
| 59 | +* Managed identity isn't supported. |
| 60 | + |
| 61 | +For general KEDA questions, we recommend [visiting the FAQ overview][keda-faq]. |
| 62 | + |
| 63 | +## Next steps |
| 64 | + |
| 65 | +* [Enable the KEDA add-on with an ARM template][keda-arm] |
| 66 | +* [Autoscale a .NET Core worker processing Azure Service Bus Queue messages][keda-sample] |
| 67 | + |
| 68 | +<!-- LINKS - internal --> |
| 69 | +[keda-azure-cli]: keda-deploy-addon-az-cli.md |
| 70 | +[keda-arm]: keda-deploy-add-on-arm.md |
| 71 | + |
| 72 | +<!-- LINKS - external --> |
| 73 | +[keda]: https://keda.sh/ |
| 74 | +[keda-architecture]: https://keda.sh/docs/latest/concepts/ |
| 75 | +[keda-faq]: https://keda.sh/docs/latest/faq/ |
| 76 | +[keda-sample]: https://github.com/kedacore/sample-dotnet-worker-servicebus-queue |
| 77 | +[keda-scalers]: https://keda.sh/docs/scalers/ |
| 78 | +[keda-http-add-on]: https://github.com/kedacore/http-add-on |
| 79 | +[keda-cosmos-db-scaler]: https://github.com/kedacore/external-scaler-azure-cosmos-db |
0 commit comments