EKS max pods and subnet IP calculator (VPC CNI)
How many pods an EKS node can run with the Amazon VPC CNI, and how many IP addresses each node takes from your subnet — with secondary IPs,
prefix delegation or custom networking. The same math as AWS's max-pods-calculator.sh, for all 1328 current instance types.
Loading instance types…
How the numbers are computed
- Secondary IPs (default): max pods =
ENIs × (IPs per ENI − 1) + 2. The −1 is each ENI's primary IP; the +2 are host-network pods (aws-node, kube-proxy). An m5.large has 3 ENIs × 10 IPs → 29 pods. - Prefix delegation: each secondary IP slot holds a /28 prefix (16 addresses), so the ENI limit becomes very high; AWS caps max pods at 110 below 30 vCPU and 250 above — and the node takes IPs in blocks of 16 from the subnet, which needs contiguous free /28 blocks.
- Custom networking: the node's primary ENI is not used for pods:
(ENIs − 1) × (IPs per ENI − 1) + 2. - IPs taken from the subnet: with
WARM_ENI_TARGET=1the CNI keeps one spare ENI fully loaded with IPs, so a node holds(ENIs in use + 1) × IPs per ENIaddresses even when few pods run. AWS reserves 5 addresses in every subnet.
Source: amazon-vpc-cni-k8s: ENI and IP targets, EKS: prefix delegation. Allocatable CPU/memory for each type: EKS node table.