Skip to content

KEDA event-driven autoscaling

Overview

KEDA (Kubernetes Event-Driven Autoscaling) and the KEDA HTTP Add-on are generic cluster amenities that multiple DataRobot components rely on for HTTP- and event-based horizontal scaling, including the ability to scale to zero for cost optimization. Because KEDA is installed cluster-wide and shared across components, its prerequisites, installation, configuration values, network requirements, and version requirements are documented here rather than in any single component's page.

Components that use KEDA include:

Prerequisites

Before enabling any KEDA-based autoscaling, the following components must be installed and configured in your Kubernetes cluster:

Required components

  1. KEDA (Kubernetes Event-Driven Autoscaling)
  2. Version 2.17 or later recommended
  3. Must be installed cluster-wide
  4. https://github.com/kedacore/keda?tab=readme-ov-file#deploying-keda

  5. KEDA HTTP Add-on

  6. Compatible with your KEDA version
  7. Provides HTTP-specific scaling capabilities
  8. See the version requirements for the minimum version your workloads need
  9. https://github.com/kedacore/http-add-on/?tab=readme-ov-file#installation

Installation requirements

KEDA and the KEDA HTTP Add-on must be installed by your platform administrator before enabling autoscaling features. Contact your DataRobot administrator or refer to the KEDA documentation for installation instructions.

Configuration values for KEDA HTTP Add-on

When installing the KEDA HTTP Add-on, ensure the following default values are configured:

keda-add-ons-http:
    interceptor:
      responseHeaderTimeout: 600s
      replicas:
        waitTimeout: 300s

This configuration ensures proper handling of long-running requests and prevents premature timeouts.

See additional configuration options here https://github.com/kedacore/charts/blob/main/http-add-on/Chart.yaml

Network

The HTTP Add-on brings a proxy component that records metrics and routes traffic from the ingress to the scaled workload. It's therefore crucial that the HTTP Add-on has network access to send traffic to the target workload's pods.

KEDA HTTP Add-on version requirements

DataRobot uses the KEDA HTTP Add-on for two scaling paths with different minimum versions:

Workload type HTTPScaledObject routing Version requirements
Custom model deployments (LRS) Path-based (pathPrefixes/hosts) No version restrictions
Workload API protons Header-based (spec.headers) 0.12.0 or later

Workload API protons route requests with header-based HTTPScaledObject rules (spec.headers), introduced in the KEDA HTTP Add-on v0.12.0. For scale-to-zero to work properly, clusters that run Workload API protons must install the KEDA HTTP Add-on 0.12.0 or later. Custom model (LRS) deployments use path-based routing and continue to work on earlier versions.

Upgrade the HTTP Add-on CRDs

Upgrading the KEDA HTTP Add-on Helm chart does not always update the HTTPScaledObject CRD. When upgrading to 0.12.0 or later to enable header-based routing, apply the CRDs from the target chart version explicitly so the new spec.headers field is recognized. Skipping this step causes header-based HTTPScaledObject rules to be silently ignored.