Attune is a Kubernetes operator that right-sizes pod CPU and memory without restarts, using In-Place Pod Resize (GA in Kubernetes 1.35, beta 1.33–1.34, alpha with feature gate in 1.32). In-place apply is the shared primitive; Attune is the safe unattended loop on top (canary, startup boost, SLO revert).
| VPA | Attune | |
|---|---|---|
| Resize method | Eviction-based Auto historically; in-place where supported | In-place by default (optional eviction fallback) |
| HPA compatible | Risky on the same metric | Yes (adjusts base requests, not HPA %) |
| Safety | Minimal guardrails | Auto-revert + optional SLO PromQL guardrails |
| Blast radius | All targeted pods | Canary fraction with observation |
| Cold start | None | Startup boost, then scale back |
| Production path | Rarely fully automated | Observe → Recommend → Canary → Auto |
- Zero-downtime resizing via the
/resizesubresource (GA in 1.35) - Canary rollout with observation and optional auto-promote
- Startup boost for cold-start / JIT CPU headroom
- Safety monitor with rollback on OOM, throttle, restarts, NotReady, or SLO breach
- Composable recommendation engine (percentile, confidence, margins, change filters)
- HPA-aware conflict detection
- Multi-source metrics: Prometheus, Thanos, VictoriaMetrics, Grafana Mimir
- Cost savings estimation with
kubectl attune savings - Helm chart with cert-manager webhook support and Grafana dashboard
helm install attune oci://ghcr.io/attune-io/charts/attune \
--namespace attune-system --create-namespace- Documentation -- full guides, API reference, and examples
- GitHub Repository -- source, issues, and contributing
- Why Attune -- problem, differentiators, production path
- Migrating from VPA -- step-by-step replacement guide
- Adopters -- organizations using Attune
