Skip to main content
Account

Kubernetes Resource Recommender (KRR)

Kubernetes Resource Recommender (KRR) turns Prometheus usage data into CPU and memory request and limit advice. Learn how it works and compares to VPA.

Status
Stable
Category
Observability and Analysis
Subcategory
Continuous Optimization
License
MIT
Technology matrix Skip Just not for me See the matrix

KRR (Kubernetes Resource Recommender) is a command-line tool from Robusta that reads historical CPU and memory usage from Prometheus and recommends new requests and limits for every workload in a cluster. It is agentless: nothing is installed in the cluster, the CLI just queries Prometheus and the Kubernetes API directly.

By default it uses the β€œsimple” strategy β€” CPU request set to the 95th percentile of observed usage, memory request set to the maximum observed usage plus a 15% buffer, and CPU limits unset to avoid throttling latency-sensitive workloads. The strategy is pluggable, so you can ship your own scoring function if you disagree with those heuristics. Output includes a terminal table, JSON, CSV, or HTML, showing current vs recommended values and the cost savings if you applied them. KRR does not write back to the cluster by default; you are meant to review the diff and roll it into your GitOps repo.

It is an alternative to the built-in Vertical Pod Autoscaler (VPA) recommender, which requires installing the VPA controller and is awkward to run in report-only mode. If you already run Prometheus or a compatible store (Thanos, Mimir, Victoria Metrics, Coralogix, Grafana Cloud), KRR is the quickest way to get a ranked list of over- and under-provisioned workloads.

Kubernetes Resource Recommender (KRR) recordings

1 recording, newest first

Continuous Optimization

Email signup loads here. You can also manage email preferences in account settings.

Build Kubernetes Resource Recommender (KRR)? I'll show you where engineers get stuck with it β†’ Back free content for the community β†’