Back to directory

KEDA GPU Scaler

A KEDA external scaler that reads GPU utilization and memory directly from NVIDIA's NVML library through a DaemonSet, so Kubernetes can autoscale GPU inference workloads without Prometheus or DCGM.

Visit website (opens in a new tab)keda-gpu-scaler.readthedocs.io
KEDA GPU Scaler

KEDA GPU Scaler addresses a gap in Kubernetes autoscaling: the standard Horizontal Pod Autoscaler only sees CPU and memory, so a vLLM or Triton pod can sit at 100 percent GPU use while showing low CPU. Rather than adding the usual dcgm-exporter, Prometheus and KEDA chain, a DaemonSet on each GPU node reads utilization, memory used, temperature and power draw directly through NVIDIA's NVML C bindings and serves them to KEDA's central operator over gRPC, so metric age is just the configured polling interval.

It cannot be built into KEDA's core scaler because KEDA is built with CGO disabled while NVIDIA's Go bindings require CGO, and because NVML needs node-level hardware access that only a per-node DaemonSet can provide. Prometheus metrics are available optionally. Each pod currently reports only its own node, so a multi-GPU-node cluster needs one ScaledObject per node or node selectors.

It is written in Go under Apache-2.0.

More in Containers

See all 120
  • Drop

    droprun.sh

    A rootless Linux sandbox for developers, built on user namespaces with optional gVisor isolation, that confines coding agents and third-party packages without leaving your normal work environment.

  • minienv

    github.com

    Reads an existing docker compose file and deploys it as a remote preview environment with little setup, with optional public endpoints and authentication so others can review in-flight work.

  • Rig

    npmjs.com

    Gives each coding agent, such as Claude Code, Cursor or Codex, its own cloud Linux desktop with a running dev server, tests and a signed-in Chrome, so the developer's laptop stays free while several agents work at once.