Estimate the maximum number of pods packed per node given resource requests.
Pod density on a node is bounded by three independent ceilings: how many pods fit by CPU request, how many fit by memory request, and the kubelet's hard --max-pods limit (110 by default on most managed Kubernetes offerings, driven by IP allocation and CNI limits). The true maximum is whichever of these three is smallest — a node with lots of spare CPU and memory can still be capped by max-pods, and vice versa.
maxPods = min(floor(nodeCPU / podCPU), floor(nodeMemory / podMemory), maxPodsSetting)
It originates from GKE/EKS defaults tied to the number of IP addresses the CNI can allocate per node and general kubelet stability testing; it can be raised on self-managed clusters if the CNI and node IP space support it.
That means you're likely wasting node capacity — either pick a larger instance type with a higher max-pods ceiling, or increase max-pods if your CNI supports enough pod IPs per node.
No — DaemonSet pods (log shippers, CNI agents, monitoring agents) consume from the same per-node budget and should be subtracted from the max-pods figure before allocating capacity to regular workloads.