We provide a few approaches to deploy KEDA runtime in your Kubernetes clusters:

💡 NOTE: KEDA requires Kubernetes cluster version 1.16 and higher

Don’t see what you need? Feel free to create an issue on our GitHub repo.

Deploying with Helm

Install

Deploying KEDA with Helm is very simple:

  1. Add Helm repo

    helm repo add kedacore https://kedacore.github.io/charts
    
  2. Update Helm repo

    helm repo update
    
  3. Install keda Helm chart

    Helm 3

    kubectl create namespace keda
    helm install keda kedacore/keda --version 2.1.0  --namespace keda
    

💡 Make sure to manually install the CRDs since Helm does not update nor add new CRDs. Learn more about it on kedacore/charts #139.

Uninstall

If you want to remove KEDA from a cluster you can run one of the following:

Using Helm 3

helm uninstall -n keda keda
kubectl delete -f https://raw.githubusercontent.com/kedacore/keda/v2.1.0/config/crd/bases/keda.sh_scaledobjects.yaml
kubectl delete -f https://raw.githubusercontent.com/kedacore/keda/v2.1.0/config/crd/bases/keda.sh_scaledjobs.yaml
kubectl delete -f https://raw.githubusercontent.com/kedacore/keda/v2.1.0/config/crd/bases/keda.sh_triggerauthentications.yaml
kubectl delete -f https://raw.githubusercontent.com/kedacore/keda/v2.1.0/config/crd/bases/keda.sh_clustertriggerauthentications.yaml

Deploying with Operator Hub

Install

  1. On Operator Hub Marketplace locate and install KEDA operator to namespace keda
  2. Create KedaController resource named keda in namespace keda
    Operator Hub installation

💡 NOTE: Further information on Operator Hub installation method can be found in the following repository.

Uninstall

Locate installed KEDA Operator in keda namespace, then remove created KedaController resource and uninstall KEDA operator.

Deploying using the deployment YAML files

Install

If you want to try KEDA on Minikube or a different Kubernetes deployment without using Helm you can still deploy it with kubectl.

  • We provide sample YAML declaration which includes our CRDs and all other resources in a file which is available on the GitHub releases page. Run the following command (if needed, replace the version, in this case 2.1.0, with the one you are using):
kubectl apply -f https://github.com/kedacore/keda/releases/download/v2.1.0/keda-2.1.0.yaml
  • Alternatively you can download the file and deploy it from the local path:
kubectl apply -f keda-2.1.0.yaml
  • You can also find the same YAML declarations in our /config directory on our GitHub repo if you prefer to clone it.
git clone https://github.com/kedacore/keda && cd keda

VERSION=2.1.0 make deploy

Uninstall

  • In case of installing from released YAML file just run the following command (if needed, replace the version, in this case 2.1.0, with the one you are using):
kubectl delete -f https://github.com/kedacore/keda/releases/download/v2.1.0/keda-2.1.0.yaml
  • If you have downloaded the file locally, you can run:
kubectl delete -f keda-2.1.0.yaml
  • You would need to run these commands from within the directory of the cloned GitHub repo:
VERSION=2.1.0 make undeploy

Deploying KEDA on MicroK8s

Install

If you want to try KEDA v2 on MicroK8s from 1.20 channel, KEDA is included into MicroK8s addons.

microk8s enable keda

Uninstall

To uninstall KEDA in MicroK8s, simply disable the addon as shown below.

microk8s disable keda