Skip to content
ByteDel

Guides · Cloud Cost · Kubernetes · FinOps

Kubernetes Cost Optimization: 7 Fixes That Cut 30–50%

· 3 min read

FinOps went from a finance buzzword to an engineering discipline because the waste is real: most Kubernetes clusters we see run at 20–35% actual utilization while paying for 100% of the nodes. The gap is structural — requests guessed at launch, nodes sized by vibes, dev environments running all weekend. Here are the seven fixes, ordered by payback speed, that reliably take 30–50% off a startup’s cluster bill.

Bar chart showing a typical Kubernetes bill falling from 100% at baseline to about 78% after right-sizing resource requests, about 60% after Karpenter and spot instances, and about 48% after off-hours schedules and savings plan commitments

1. Fix your resource requests (the big one)

Kubernetes schedules on requests, not usage. When every deployment requests 1 CPU “to be safe” and uses 80m, the scheduler packs three pods where thirty would fit, and the autoscaler buys nodes to hold reserved air. Pull 30 days of actual usage (Prometheus has it — see our monitoring stack), set requests near the P95 of real consumption, keep limits sane, and watch node count fall. This one change is routinely 15–25% of the entire bill.

2. Replace static node groups with Karpenter

Cluster Autoscaler scales fixed-size groups; Karpenter provisions exactly the nodes the pending pods need, from the whole instance catalog, in seconds, and consolidates underused nodes away continuously. On AWS it’s the default answer now. We’ve written up how it works and what it saves on our Karpenter page — in practice it compounds fix #1: right-sized pods plus a right-sizing provisioner.

3. Put stateless workloads on spot

Spot/preemptible capacity is 60–90% off on-demand price. The rule that makes it safe: spot for anything that can die and restart (web replicas, workers, CI runners), on-demand for state and singletons. Karpenter handles the interruption dance — diversified instance types, graceful drains, automatic fallback to on-demand.

4. Turn off nights and weekends

Dev and staging clusters running 168 hours a week are used for maybe 50. Scaling non-production to zero outside working hours is a cron job’s worth of engineering that pays ~70% of those environments’ cost, forever. Nobody does it because nobody owns it.

5. See who spends what (Kubecost or OpenCost)

Shared clusters hide cost the way shared apartments hide dishes. Kubecost (or CNCF’s OpenCost) allocates node cost to namespaces and teams, shows efficiency per workload, and makes the “why is staging $4K/month?” conversation possible. The trend worth copying from big FinOps shops: surface projected cost in the pull request, before the spend exists.

6. Check the boring storage and network lines

Orphaned persistent volumes from deleted workloads, gp2 volumes that should be gp3, cross-AZ traffic between chatty services, load balancers nobody deleted — the same archaeology we detail in the AWS bill guide applies inside clusters. Typically $500–3,000/month on a mid-size startup account.

7. Commit to your floor

After fixes 1–6 shrink the fleet, the remaining 24/7 baseline should sit on Savings Plans / committed-use discounts — another ~30–40% on that portion. Commit after optimizing, never before, or you lock in the waste.

What order should you do this in?

Visibility first (30 minutes), requests second (the big unlock), Karpenter + spot third, schedules and commitments last. A focused engineer lands the whole list in a couple of weeks — the pattern is common enough that it’s a standard outcome of our Infra & Cost Audit: $1,900, five days, and if the report doesn’t find at least $10K/year in savings and risks, it’s free. Run the cost calculator to see what your stack should cost, or start with the free health check — question 8 is about exactly this.

ShareLinkedInXHacker News
Ask AI about thisChatGPTPerplexityClaude

Newsletter

One practical DevOps guide a week

Real numbers, honest trade-offs, no vendor fog — same as everything here. Unsubscribe anytime.

More on Cloud Cost

Why cloud bills balloon and the specific fixes that reliably cut 30–50%.

All cloud cost guides →

Want us to find the savings instead of describing them?

A 15-minute call is enough to tell you exactly what we'd do and what it costs. No pitch deck, no pressure.