CostMonStart free

Cloud cost

Allocatable capacity

What's left for pods to request on a Kubernetes node, after the kubelet, container runtime, OS, and DaemonSets reserve their own slice of it.

Cloud cost

Last updated

Definition

A node's advertised capacity (its full vCPU and memory) is never what's schedulable. kube-reserved, system-reserved, the eviction threshold, and any DaemonSets running on every node all carve out a slice before a single application pod can be placed. Allocatable is capacity minus that reservation, and it's meaningfully smaller than the number on the instance's spec sheet.

The bill is paid on full node capacity, every hour, regardless of how much of the allocatable slice underneath it is requested or used. That's why a cluster's cost has to be modeled through four separate numbers (capacity, allocatable, requested, used) instead of one.

Where it shows up

Allocatable capacity appears on the node object itself: kubectl describe node lists both a Capacity section, the full advertised vCPU and memory, and an Allocatable section underneath it, already reduced by kube-reserved, system-reserved, and the eviction threshold before a single application pod can be scheduled onto that node.

What makes it expensive

Teams get burned by sizing a cluster off a node's advertised capacity instead of its allocatable slice, then wondering why fewer pods fit than expected. Both numbers sit on the same node record, a few lines apart, and the reservation between them is routinely larger than anyone budgeted for. Size against the lower one.

The meter you don't watch still grows.

Waste rarely hides in the service you check every week. CostMon watches every meter on your stack, including the ones you forgot were running.

Esc