You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> The KEDA add-on installs version *2.7.0* of KEDA on your cluster.
12
-
>
13
-
> Due to [KEDA's Kubernetes Compatibility policy](https://keda.sh/docs/latest/operate/cluster/#kubernetes-compatibility), the managed KEDA addon is will only be supported in Kubernetes versions <= 1.25 when generally available. Please follow the [release notes](https://github.com/Azure/AKS/releases) to be notified for additional Kubernetes version support.
10
+
> Your cluster Kubernetes version determines what KEDA version will be installed on your AKS cluster. To see which KEDA version maps to each AKS version, see the **AKS managed add-ons** column of the [Kubernetes component version table](/azure/aks/supported-kubernetes-versions#aks-components-breaking-changes-by-version).
11
+
>
12
+
> For GA Kubernetes versions, AKS offers full support of the corresponding KEDA minor version in the table. Kubernetes preview versions and the latest KEDA patch 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:
13
+
> -[AKS support policies](/azure/aks/support-policies)
14
+
> -[Azure support FAQ](https://azure.microsoft.com/support/legal/faq/)
> If you're using [Microsoft Entra Workload ID](/azure/aks/workload-identity-overview) and you enable KEDA before Workload ID, you need to restart the KEDA operator pods so the proper environment variables can be injected:
11
+
>
12
+
> 1. Restart the pods by running `kubectl rollout restart deployment keda-operator -n kube-system`.
13
+
>
14
+
> 1. Obtain KEDA operator pods using `kubectl get pod -n kube-system` and finding pods that begin with `keda-operator`.
15
+
>
16
+
> 1. Verify successful injection of the environment variables by running `kubectl describe pod <keda-operator-pod> -n kube-system`.
17
+
> Under `Environment`, you should see values for `AZURE_TENANT_ID`, `AZURE_FEDERATED_TOKEN_FILE`, and `AZURE_AUTHORITY_HOST`.
# Simplified application autoscaling with Kubernetes Event-driven Autoscaling (KEDA) add-on
11
11
12
12
Kubernetes Event-driven Autoscaling (KEDA) is a single-purpose and lightweight component that strives to make application autoscaling simple and is a CNCF Graduate project.
13
13
14
14
It applies event-driven autoscaling to scale your application to meet demand in a sustainable and cost-efficient manner with scale-to-zero.
15
15
16
-
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.
17
-
18
-
[!INCLUDE [preview features callout](./includes/preview/preview-callout.md)]
16
+
The KEDA add-on makes it even easier by deploying a managed KEDA installation, providing you with [a rich catalog of Azure KEDA scalers][keda-scalers] that you can scale your applications with on your Azure Kubernetes Services (AKS) cluster.
19
17
20
18
## Architecture
21
19
@@ -28,7 +26,7 @@ The KEDA add-on makes it even easier by deploying a managed KEDA installation, p
28
26
29
27
Learn more about how KEDA works in the [official KEDA documentation][keda-architecture].
30
28
31
-
## Installation and version
29
+
## Installation
32
30
33
31
KEDA can be added to your Azure Kubernetes Service (AKS) cluster by enabling the KEDA add-on using an [ARM template][keda-arm] or [Azure CLI][keda-cli].
34
32
@@ -39,11 +37,15 @@ The KEDA add-on provides a fully supported installation of KEDA that is integrat
39
37
KEDA provides the following capabilities and features:
40
38
41
39
- Build sustainable and cost-efficient applications with scale-to-zero
42
-
- Scale application workloads to meet demand using [a rich catalog of 50+ KEDA scalers][keda-scalers]
40
+
- Scale application workloads to meet demand using [a rich catalog of Azure KEDA scalers][keda-scalers]
43
41
- Autoscale applications with `ScaledObjects`, such as Deployments, StatefulSets or any custom resource that defines `/scale` subresource
44
42
- Autoscale job-like workloads with `ScaledJobs`
45
43
- Use production-grade security by decoupling autoscaling authentication from workloads
46
44
- Bring-your-own external scaler to use tailor-made autoscaling decisions
45
+
- Integrate with [Microsoft Entra Workload ID][workload-identity] for authentication
46
+
47
+
> [!NOTE]
48
+
> If you plan to use workload identity, [enable the workload identity add-on][workload-identity-deploy] before enabling the KEDA add-on.
47
49
48
50
## Add-on limitations
49
51
@@ -53,22 +55,36 @@ The KEDA AKS add-on has the following limitations:
53
55
* 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.
54
56
* 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.
55
57
* Multiple KEDA installations aren't supported
56
-
* Managed identity isn't supported.
57
58
58
59
For general KEDA questions, we recommend [visiting the FAQ overview][keda-faq].
59
60
61
+
[!INCLUDE [Current version callout](./includes/keda/keda-workload-identity-callout.md)]
62
+
63
+
## Supported Kubernetes and KEDA versions
64
+
65
+
Your cluster Kubernetes version determines what KEDA version will be installed on your AKS cluster. To see which KEDA version maps to each AKS version, see the **AKS managed add-ons** column of the [Kubernetes component version table](./supported-kubernetes-versions.md#aks-components-breaking-changes-by-version).
66
+
67
+
For GA Kubernetes versions, AKS offers full support of the corresponding KEDA minor version in the table. Kubernetes preview versions and the latest KEDA patch 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:
68
+
69
+
-[AKS support policies][support-policies]
70
+
-[Azure support FAQ][azure-support-faq]
71
+
60
72
## Next steps
61
73
62
74
*[Enable the KEDA add-on with an ARM template][keda-arm]
63
75
*[Enable the KEDA add-on with the Azure CLI][keda-cli]
64
76
*[Troubleshoot KEDA add-on problems][keda-troubleshoot]
65
77
*[Autoscale a .NET Core worker processing Azure Service Bus Queue messages][keda-sample]
# Install the Kubernetes Event-driven Autoscaling (KEDA) add-on using an ARM template
@@ -20,49 +20,11 @@ This article shows you how to deploy the Kubernetes Event-driven Autoscaling (KE
20
20
- You need the [Azure CLI installed](/cli/azure/install-azure-cli).
21
21
- This article assumes you have an existing Azure resource group. If you don't have an existing resource group, you can create one using the [`az group create`][az-group-create] command.
22
22
- Ensure you have firewall rules configured to allow access to the Kubernetes API server. For more information, see [Outbound network and FQDN rules for Azure Kubernetes Service (AKS) clusters][aks-firewall-requirements].
23
-
-[Install the `aks-preview` Azure CLI extension](#install-the-aks-preview-azure-cli-extension).
24
-
-[Register the `AKS-KedaPreview` feature flag](#register-the-aks-kedapreview-feature-flag).
25
23
-[Create an SSH key pair](#create-an-ssh-key-pair).
26
24
27
-
### Install the `aks-preview` Azure CLI extension
25
+
[!INCLUDE [KEDA workload ID callout](./includes/keda/keda-workload-identity-callout.md)]
28
26
29
-
[!INCLUDE [preview features callout](includes/preview/preview-callout.md)]
30
-
31
-
1. Install the `aks-preview` extension using the [`az extension add`][az-extension-add] command.
32
-
33
-
```azurecli-interactive
34
-
az extension add --name aks-preview
35
-
```
36
-
37
-
2. Update to the latest version of the `aks-preview` extension using the [`az extension update`][az-extension-update] command.
38
-
39
-
```azurecli-interactive
40
-
az extension update --name aks-preview
41
-
```
42
-
43
-
### Register the `AKS-KedaPreview` feature flag
44
-
45
-
1. Register the `AKS-KedaPreview` feature flag using the [`az feature register`][az-feature-register] command.
46
-
47
-
```azurecli-interactive
48
-
az feature register --namespace "Microsoft.ContainerService" --name "AKS-KedaPreview"
49
-
```
50
-
51
-
It takes a few minutes for the status to show *Registered*.
52
-
53
-
2. Verify the registration status using the [`az feature show`][az-feature-show] command.
54
-
55
-
```azurecli-interactive
56
-
az feature show --namespace "Microsoft.ContainerService" --name "AKS-KedaPreview"
57
-
```
58
-
59
-
3. When the status reflects *Registered*, refresh the registration of the *Microsoft.ContainerService* resource provider using the [`az provider register`][az-provider-register] command.
60
-
61
-
```azurecli-interactive
62
-
az provider register --namespace Microsoft.ContainerService
63
-
```
64
-
65
-
### Create an SSH key pair
27
+
## Create an SSH key pair
66
28
67
29
1. Navigate to the [Azure Cloud Shell](https://shell.azure.com/).
68
30
2. Create an SSH key pair using the [`az sshkey create`][az-sshkey-create] command.
@@ -104,11 +66,65 @@ To connect to the Kubernetes cluster from your local device, you use [kubectl][k
104
66
105
67
If you use the Azure Cloud Shell, `kubectl` is already installed. You can also install it locally using the [`az aks install-cli`][az-aks-install-cli] command.
106
68
107
-
- Configure `kubectl` to connect to your Kubernetes cluster using the [`az aks get-credentials`][az-aks-get-credentials] command.
108
-
109
-
```azurecli-interactive
110
-
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
111
-
```
69
+
- Configure `kubectl` to connect to your Kubernetes cluster, use the [az aks get-credentials][az-aks-get-credentials] command. The following example gets credentials for the AKS cluster named *MyAKSCluster* in the *MyResourceGroup*:
70
+
71
+
```azurecli
72
+
az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster
73
+
```
74
+
75
+
## Example deployment
76
+
77
+
The following snippet is a sample deployment that creates a cluster with KEDA enabled with a single node pool comprised of three `DS2_v5` nodes.
0 commit comments