Blog
Cutting Kubernetes Costs by 40%
Cloud bills are a debt that grows quietly. Before long, your Kubernetes cluster is paying for twice the resources you actually use. Last quarter we cut the bill by 40% — here's how.
1. End over-provisioning
Most teams inflate pod requests "just in case." The result: nodes look full, but CPU sits idle.
Measure actual usage
Set requests from data, not guesses:
kubectl top pods --all-namespaces --sort-by=cpu
# If p95 usage is 30% of the request, cut it in half
Aligning requests to just above p95 usage alone saved a quarter of the bill.
2. Reclaim idle resources
Running dev environments 24/7 is pure waste.
- Scale development clusters to zero outside working hours.
- Move batch jobs to spot/preemptible nodes.
- Delete orphaned
LoadBalancerand disk resources.
An idle resource is a subscription you pay for but never use.
3. Pick the right machine type
General-purpose nodes are rarely the cheapest. Profile your workloads:
| Workload | Previous type | Next type | Savings |
|---|---|---|---|
| API | general | compute-optimized | 22% |
| Database | general | memory-optimized | 18% |
| Batch | general | spot | 60% |
The takeaway
Cost optimization isn't a one-time project — it's an ongoing discipline. Once we automated these three interventions with panel-connected alerts, the savings became permanent.
Komuta Team
Senior Infrastructure Engineer