Revenue Rex logo mark
💰 Financial · Rex's Toolbox

Kubernetes Node Bin-Packing Calculator

Figure out how many nodes you actually need for a given pod fleet.

Revenue Rex peeking

Rex says

Money math without the spreadsheet headache. Plug in your numbers and I'll show you exactly where the dollars land.

Try a scenario

Click to load — tweak from there.

Inputs

Result

Nodes needed

13

Pods per node

16

Estimated monthly node cost

$3,644.16

Bottleneck resource

CPU

Unused CPU per node

0.0%

Unused memory per node

50.0%

Revenue Rex peeking

Psst — share this and help Rex grow

One click, a permanent link with your numbers baked in.

More financial

How to use this

  1. 1Enter node allocatable cpu (vCPU).
  2. 2Enter node allocatable memory (GB).
  3. 3Enter pod cpu request (vCPU).
  4. 4Enter pod memory request (GB).
  5. 5Enter total pods to schedule.
  6. 6Enter node hourly cost ($).
  7. 7Read your nodes needed on the right — it updates as you type.
  8. 8Hit Share to keep the scenario or send it to someone.

About this calculator

Kubernetes scheduling is a bin-packing problem: each node has a fixed amount of allocatable CPU and memory (slightly less than total, after reserving capacity for the kubelet and system daemons), and each pod requests a slice of both. This calculator computes how many pods fit per node based on whichever resource — CPU or memory — runs out first, then divides your total pod count by that packing density to estimate node count, and multiplies by node hourly cost for a monthly estimate. It also reports the 'wasted' capacity on the bottleneck resource, which is almost always non-zero because pod requests rarely divide evenly into node capacity. This is the same math cluster autoscalers use internally, and knowing it helps you size instance types deliberately — sometimes a slightly larger node type packs more efficiently and lowers total node count and cost even though its hourly price is higher.

FormulaPods per node = min(floor(node CPU ÷ pod CPU request), floor(node memory ÷ pod memory request)); nodes needed = ceil(total pods ÷ pods per node).

Worked example

Using the values the calculator loads with:

Inputs

  • Node allocatable CPU: 8 vCPU
  • Node allocatable memory: 32 GB
  • Pod CPU request: 0.5 vCPU
  • Pod memory request: 1 GB
  • Total pods to schedule: 200
  • Node hourly cost: 0.384 $

Results

  • Nodes needed: 13
  • Pods per node: 16
  • Estimated monthly node cost: $3,644.16
  • Bottleneck resource: CPU
  • Unused CPU per node: 0.0%
  • Unused memory per node: 50.0%

What each field means

Inputs

Node allocatable CPU (vCPU)
The node allocatable cpu used in the calculation, measured in vCPU. Starts at 8 vCPU so you have a working example on load.
Node allocatable memory (GB)
The node allocatable memory used in the calculation, measured in GB. Starts at 32 GB so you have a working example on load.
Pod CPU request (vCPU)
The pod cpu request used in the calculation, measured in vCPU. Starts at 0.5 vCPU so you have a working example on load.
Pod memory request (GB)
The pod memory request used in the calculation, measured in GB. Starts at 1 GB so you have a working example on load.
Total pods to schedule
The total pods to schedule used in the calculation. Starts at 200 so you have a working example on load.
Node hourly cost ($)
The node hourly cost used in the calculation, measured in $. Starts at 0.384 $ so you have a working example on load.

Results

Nodes needed
Returned as a whole number and shown as the headline result. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Pods per node
Returned as a whole number. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Estimated monthly node cost
Returned as a money amount in US dollars. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Bottleneck resource
Returned as a plain value. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Unused CPU per node
Returned as a percentage. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Unused memory per node
Returned as a percentage. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.

FAQ

Why does 'allocatable' matter instead of total node capacity?

Every node reserves a slice of CPU and memory for the kubelet, container runtime, and OS itself before any pods can be scheduled — typically 5-10% of memory and a few hundred millicores of CPU. Cloud providers publish allocatable capacity per instance type separately from raw specs; use that number, not the raw vCPU/RAM spec sheet, or you'll overestimate how many pods actually fit.

Why would a bigger, more expensive node type lower total cost?

Bin-packing waste is per-node, so more nodes means more total wasted capacity. A node type that packs pod requests evenly (little remainder on both CPU and memory) can need fewer total nodes for the same pod count than a cheaper node type that leaves each node with 20-30% stranded capacity, and the fewer-larger-nodes total often costs less overall.

Should I size nodes around requests or actual usage?

The scheduler only sees requests, so bin-packing math always runs on requests, not real usage. But if your requests are set far above real usage (a common anti-pattern), you're paying for stranded capacity that never gets used — audit with a tool like Kubecost or the metrics-server to right-size requests before doing node capacity planning.

Accuracy and limitations

  • Results are estimates before tax, fees, and inflation unless an input explicitly covers them.
  • Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.
  • This is educational maths, not financial advice. Check anything contractual with the lender or your accountant.

Related tools

Cite this calculator

Writing about this topic? Grab a citation — every link helps keep these tools free.

APA
RevenueLab. (2026). Kubernetes Node Bin-Packing Calculator. Retrieved from https://www.revenuelab.fyi/toolbox/kubernetes-node-bin-packing
HTML
<p>Source: <a href="https://www.revenuelab.fyi/toolbox/kubernetes-node-bin-packing" target="_blank" rel="noopener">Kubernetes Node Bin-Packing Calculator — RevenueLab</a> (2026).</p>
Markdown
Source: [Kubernetes Node Bin-Packing Calculator — RevenueLab](https://www.revenuelab.fyi/toolbox/kubernetes-node-bin-packing) (2026).
Advertisement