Skip to content

KEDA 2.0.0

Compare
Choose a tag to compare
@zroubalik zroubalik released this 04 Nov 13:58
· 1652 commits to main since this release
50bec80

Today, we are happy to announce another milestone - KEDA 2.0 is now generally available and ready to scale all your workloads! 🎊

Learn more about this release in our blog post and easily get started.

What's new?

New

  • Introduce Azure Log Analytics scaler (#1061) | docs)
  • Introduce External Push scaler (#820 | docs)
  • Introduce Metrics API Scaler (#1026 | docs)
  • Introduce IBM MQ Scaler (#1259 | docs)
  • Introduce CPU scaler (#1215 | docs)
  • Introduce Memory scaler (#1215 | docs)
  • Introduce scaling any CustomResource that implements Scale subresource (#703)
  • Provide KEDA go-client (#494)
  • Provide KEDA readiness and liveness probes (#788)
  • Support for configuring scaling behavior in HPA v2beta2 (#802)
  • Provide Standard Resource metrics to KEDA (#874)
  • Provide support for Managed Identity support for Azure Monitor scaler (#936)
  • Provide support for multiple triggers on ScaledObject (#476)
  • Provide consumer offset reset policy option to Kafka scaler (#925)
  • Provide option to restore to original replica count after ScaledObject's deletion (#219)
  • Support for multiple redis list types in redis list scaler (#1006 | docs)
  • Introduce Prometheus metrics for KEDA Metrics API Server (#823 | docs)
  • Introduce Scaling Strategy for ScaledJob (#1227)

Improvements

  • ScaledJobs: Introduce new scaling logic with fix orphan pod issue (#1214)
  • enabling authentication for metric api scaler (#1137)
  • Avoid exception when CRD doesn't follow Pod spec shape (#1195)
  • Fix for not sending trigger metadata to the External Scaler
  • Fix for up-down scaling behavior configuration is ignored in Kubernetes version >= 18.0
  • Fix for RabbitMQ queue name causing problems in HPA external metric
  • Update version.go properly during make release
  • Improved code linting
  • Move from autoscaling v2beta1 to v2beta2 for HPA (#721)
  • Introduce shortnames for CRDs (#774)
  • Improve kubectl get scaledobject to show related trigger authentication (#777)
  • Improve kubectl get triggerauthentication to show information about configured parameters (#778)
  • Added ScaledObject Status Conditions to display status of scaling (#750)
  • Added optional authentication parameters for the Redis Scaler (#962)
  • Improved GCP PubSub Scaler performance by closing the client correctly (#1087)

Breaking Changes

We are making some breaking changes, but you can easily migrate with our migration guide.

  • Introduce a separate ScaledObject and ScaledJob(#653)
  • Change apiGroup from keda.k8s.io to keda.sh (#552)
  • Use apiextensions.k8s.io/v1 instead of apiextensions.k8s.io/v1beta1
  • Kubernetes v1.16+ is required instead of v1.13
  • All scalers metadata that is resolved from the scaleTarget environment have suffix FromEnv added. e.g: connection -> connectionFromEnv
  • Remove New() and Close() from the interface of service ExternalScaler in externalscaler.proto.

Changes in our scalers:

  • Kafka:
    • Split metadata and config for SASL and TLS (#1074)
    • Remove Kafka scaler requirement for CA/cert/key (#1288)
    • Removed deprecated brokerList for Kafka scaler (#882)
  • Service Bus:
    • queueLength is now called messageCount (#1109)
  • RabbitMQ:
    • Use host instead of apiHost in rabbitmq scaler. Add protocol in trigger spec to specify which protocol should be used (#1115)

Other

  • Change Metrics Server image name from keda-metrics-adapter to keda-metrics-apiserver (#1105)
  • Update Operator SDK and k8s deps (#1007,#870)
  • Improved code linting
  • Update dependencies