KuberNap detects idle Kubernetes namespaces by actual activity signals - not guesswork - and scales them to zero automatically. For platform teams running 1–25 clusters on GKE, EKS, or AKS.
helm repo add kubernap https://charts.kubernap.dev helm install kubernap kubernap/kubernap -n kubernap --create-namespace
Free tier, no credit card. Dry-run mode on by default - it won't touch your cluster until you're ready.
SAVINGS CALCULATOR
~$0/mo
$3,449 – $6,131
$2,994
Night savings
$1,796
Weekend savings
$3,832
Total monthly
Cloud provider
PASTE & SCAN
Your data stays in your browser
Nothing is sent to any server. Parsing happens entirely in your browser tab.
Run this command against your cluster:
kubectl get deployments --all-namespaces -o json | xclip -selection clipboardTHE PROBLEM
The staging namespace running 72 hours after the sprint ended. Nobody deleted it. Nobody noticed. Your cluster autoscaler kept 3 nodes alive because something was still scheduled there. That namespace cost you $140 last month to serve exactly zero requests.
The dev environment left up over a long weekend. Five replicas, full node allocation, 96 hours of billing for nobody. You found out when the GCP bill landed.
You built a cleanup cron job in 2022. It deleted namespaces too aggressively. An engineer lost their environment mid-sprint. You disabled it. It never came back.
The downscaler you configured doesn't know when your team works late. It killed the preview environment at 10pm. The engineer debugging a production issue found nothing and spent 15 minutes figuring out why before they could even start.
"We were paying $4,200/month for staging environments that sat idle 80% of the time. I built KuberNap to fix this for my own clusters first. Now it's yours."
of the week, your dev clusters sit idle - nights, weekends, holidays. You're paying for 100% of it.
Non-production environments account for 27% of a company's total cloud costs. 99.94% of Kubernetes clusters are overprovisioned. Average CPU utilization is just 10%. You've tried schedule-based downscalers, cleanup scripts, and Slack reminders. None of them know the difference between "quiet but needed" and "forgotten and draining money."
"Every platform team I talked to had the same story - they tried cron jobs, they tried kube-downscaler, they tried Slack reminders. Nothing stuck because none of those tools understand what 'idle' actually means."
THE OUTCOME
You open your cloud dashboard on Monday. Dev spend is down 65%. Every idle namespace was automatically scaled to zero over the weekend. Nothing was lost. Nothing broke. You didn't think about it once.
Your VP asks about the Kubernetes cost increase. You pull up the KuberNap dashboard: "$3,200 saved this month. Here are the namespaces, here are the hours, here's the math." Meeting over in 2 minutes.
Feature branch namespaces from last quarter? Automatically sleeping. The intern's test environment from 3 weeks ago? Sleeping. When anyone needs one back, one click. Exact state restored. No tickets. No Slack threads.
HOW IT WORKS
One Helm command. Ships in dry-run mode - logs everything it would do, touches nothing. Production namespaces (kube-system, production, etc.) are hard-excluded in the code.
helm install kubernap kubernap/kubernap -n kubernap --create-namespace
KuberNap's idle scoring engine analyzes every deployment: CPU usage (40%), traffic activity (40%), pod age (20%). Each namespace gets a score from 0–100. This isn't a schedule - it's semantic detection that knows "quiet but needed" from "forgotten and draining money."
Idle namespaces scale to zero automatically. Original replica counts stored in Kubernetes annotations - nothing is lost. One click to restore any namespace to its exact pre-sleep state. No config drift. No data loss.
$1,200–1,800
saved per month on a 10-namespace cluster
Typical idle dev/staging costs eliminated
< 30 sec
to install via Helm
Dry-run by default. Zero risk.
5x – 14x
ROI on Starter and Pro plans
Pays for itself in the first week
If your non-production Kubernetes spend is $5,000/month and your clusters are idle 65% of the time, KuberNap saves you ~$3,250/month. That's $39,000/year for a $588/year tool.
FEATURES
CPU, traffic, and pod age - weighted scoring, not "is it past 6pm." Catches actually-idle workloads that schedule-based tools miss.
Original replicas and configs stored directly in Kubernetes annotations. No external database. The cluster itself is the source of truth.
Restores exact pre-sleep configuration via API or dashboard. Developers get their environment back in seconds, exactly as they left it.
kube-system, production, kube-public are hardcoded and cannot be slept. Not a policy to configure - it's in the code. The risk conversation is over.
Deploy Monday. Review the report Friday. Flip to active when you trust it. No leap of faith required.
Real-time view of what's sleeping, what's running, and what you've saved. The number your manager needs for the budget review.
| KuberNap | Kubecost | kube-downscaler | KEDA | kube-green | |
|---|---|---|---|---|---|
| Detects idle workloads | Yes (composite scoring) | No (reports cost only) | No (schedule-based) | No (event-driven) | No (schedule-based) |
| Scales to zero automatically | Yes | No | Yes (on schedule) | Yes (on events) | Yes (on schedule) |
| Wakes on demand | Yes (one-click) | N/A | Manual rescale | Auto on event | Manual rescale |
| Stores original state | Yes (annotations) | N/A | No | N/A | No |
| Production safety | Hardcoded exclusions | N/A | Manual config | Manual config | Manual config |
| Dashboard + cost reports | Yes | Yes (cost only) | No | No | No |
| Install time | 30 seconds | 5–15 min | 5–10 min | 10–20 min | 5–10 min |
Kubecost tells you what you're spending - it doesn't turn anything off. kube-downscaler uses rigid schedules - it can't tell idle from busy at an unusual hour. KuberNap is the only tool that detects idle workloads semantically and acts on them automatically.
PRICING
$470/yr with annual billing (save 20%)
$1,430/yr with annual billing
$2,870/yr with annual billing
All plans include a 30-day money-back guarantee. If KuberNap doesn't save more than it costs, you get a full refund. We've never had to honor this.

Software engineer at a Web3 infrastructure company. Every sprint we'd spin up dev deployments to test new features. Sprint ends, tickets close, attention moves on. But the deployments keep running. Six months in, our staging bill had doubled and most of what was running was from sprints nobody remembered. I tried kube-downscaler - it got archived. I tried cron scripts - they killed an engineer's environment mid-debug. I tried Slack reminders - nobody listened. So I wrote the tool I wished existed. KuberNap started as 200 lines of Go to fix our $4,200/month staging problem. It worked. Now it's yours.
Install KuberNap in 30 seconds. See your idle score immediately. Start saving before your next standup.
helm repo add kubernap https://charts.kubernap.dev helm install kubernap kubernap/kubernap -n kubernap --create-namespace
Helm install. Dry-run by default. Production namespaces hard-excluded. Works with EKS, GKE, AKS, and self-hosted Kubernetes.