Calculate how many pods and how much workload a Kubernetes node can host.
A node's pod capacity is bound by whichever resource — CPU or memory — runs out first, after subtracting the portion reserved for the kubelet, container runtime and OS. Formula: max_pods = min(allocatable_cpu / pod_cpu_request, allocatable_memory / pod_memory_request). Note that Kubernetes also enforces a hard cap (default 110 pods per node) independent of resource math, which this calculator does not include.
maxPods = min(floor(allocatableCPU / podCPU), floor(allocatableMemory / podMemory))
Kubernetes enforces a kubelet --max-pods setting (default 110) as a hard ceiling regardless of available resources, and some capacity may also be consumed by DaemonSets running on every node.
Cloud providers commonly reserve 5-10% for small nodes and slightly more for the kubelet/OS on very large nodes; check your provider's specific allocatable formula (e.g. GKE, EKS use tiered reservations).
Ideally your pod's CPU-to-memory request ratio matches the node's CPU-to-memory ratio, so neither resource is left stranded — otherwise you'll have unused capacity in whichever resource isn't the binding constraint.
No — DaemonSet pods (e.g. log shippers, CNI agents) consume part of the allocatable capacity on every node and should be subtracted from allocatable CPU/memory before running this calculation for your application pods.