Home › Blog › Kubernetes cost optimisation

Kubernetes cost optimisation: cutting the bill without cutting uptime

Cloud & DevOps · 1 August 2026 · Bello Cloud Solutions

Most Kubernetes bills are not expensive because the workload is heavy. They are expensive because the cluster was sized once, for the worst day of the year, and never revisited. Here is where the money actually goes, and how to get it back without risking reliability.

The core problem: requests, not usage

Kubernetes schedules pods based on their requests, not on what they actually consume. If a pod requests 2 CPU and quietly uses 0.2, the scheduler still reserves 2 CPU on that node. You pay for the reservation.

This is the single largest source of waste in most clusters, and it is invisible unless you go looking. Utilisation dashboards showing 15% cluster usage alongside nodes that cannot fit another pod is the classic signature.

Start here: compare requested CPU and memory against actual usage over a fortnight. The gap between those two numbers is your budget for improvement.

1. Right-size requests from real data

Do not guess. Measure over a period long enough to include your genuine peaks — two weeks minimum, longer if you have monthly cycles.

On CPU limits

Setting aggressive CPU limits is a common own-goal. Once a container hits its limit it gets throttled, and latency suffers even while the node has capacity sitting idle. Many teams get better results setting sensible requests and leaving CPU limits off, while always setting memory limits.

2. Make autoscaling do the work

Three layers, and they solve different problems:

The saving comes from scaling down. Plenty of clusters scale up correctly and never come back down, which means you are permanently paying for your busiest hour.

3. Buy capacity properly

Compute is the bulk of most bills, and how you purchase it matters as much as how much you use.

Reliability note: keep critical stateful components on on-demand nodes. Use PodDisruptionBudget so scale-down and spot reclamation cannot remove too many replicas of one service at once.

4. The costs nobody notices

Compute gets the attention. These quietly add up:

5. Make cost visible, or it will drift back

Optimisation is not a one-off project. Without visibility, savings erode within months.

A sensible order of work

  1. Measure requests against actual usage. Establish the gap.
  2. Right-size the ten largest workloads — usually the bulk of the saving.
  3. Confirm scale-down genuinely works, not just scale-up.
  4. Move suitable workloads to spot capacity, protected by disruption budgets.
  5. Clean up orphaned volumes, idle load balancers and dormant environments.
  6. Commit to your measured baseline only.
  7. Add allocation reporting so it stays fixed.

Done in that order, cutting 30–50% is a realistic outcome for a cluster that has never been reviewed — with reliability improving rather than degrading, because right-sized workloads schedule more predictably.

We do this work as part of our cloud practice — autoscaling that follows demand, and FinOps right-sizing that cuts spend without cutting uptime.