Give KEDA 2.0 (Beta) a test drive

KEDA Maintainers

September 11, 2020

Today, we are happy to share that our first beta version of KEDA 2.0 is available! 🎊

Highlights

With this release, we are shipping majority of our planned features.

Here are some highlights:

  • Making scaling more powerful
    • Introduction of ScaledJob (docs)
    • Introduction of Azure Log Analytics scaler (docs)
    • Support for scaling Deployments, Stateful Sets and/or any Custom Resources (docs)
    • Support for scaling on standard resource metrics (CPU/Memory)
    • Support for multiple triggers in a single ScaledObject (docs)
    • Support for scaling to original replica count after deleting ScaledObject (docs)
    • Support for controlling scaling behavior of underlying HPA
  • Easier to operate KEDA
    • Introduction of readiness and liveness probes
    • Introduction of Prometheus metrics for Metrics Server (docs)
    • Provide more information when querying KEDA resources with kubectl
  • Extensibility
    • Introduction of External Push scaler (docs)
    • Introduction of Metric API scaler (docs)
    • Provide KEDA client-go library

For a full list of changes, we highly recommend going through our changelog! With our stable release, we’ll provide a full overview of what’s released in a new blog post.

Getting started

Get started now, and install our beta with Helm:

$ helm repo add kedacore https://kedacore.github.io/charts

$ kubectl create namespace keda

$ helm install keda kedacore/keda --namespace keda --version 2.0.0-beta1.2

As an alternative, you can use our deployment YAML:

$ kubectl apply -f https://github.com/kedacore/keda/releases/download/v2.0.0-beta/keda-2.0.0-beta.yaml

Migrating to KEDA 2.0

We want it to be super simple to use 2.0 as an existing customer! But what has changed?

  • API namespace for KEDA Custom Resources Definitions (CRD) has changed from keda.k8s.io to keda.sh
  • Scaling jobs is now done through ScaledJob CRD, instead of ScaledObject CRD
  • ScaledObject is now using spec.scaleTargetRef.name, instead of spec.scaleTargetRef.deploymentName
  • ScaledObject no longer requires deploymentName label (last couple of v1 releases were already ignoring it)

Learn more on how to migrate by using our migration guide!

With our official release we will provide migration scripts allowing you to migrate your KEDA resources automatically.

⚠ Running KEDA 1.x & 2.0 Beta side-by-side is not supported.

KEDA comes with a metrics server and Kubernetes only allows you to run one of them in a cluster.

Learn more about how KEDA is architected in our docs.

Conclusion

We are looking forward to hearing your feedback:

  • What do you like and/or what could be improved?
  • What issues did you find?
  • How can the migration be smoother?

While we are eagerly waiting for feedback, we plan to release KEDA 2.0 stable around early September, 2020!

Thanks for reading, and happy scaling!

KEDA Maintainers.