You may see a Kubernetes error that prevents pods from starting on your EKS nodes. This usually means the node has reached its available IP address limit. Each EC2 instance type supports a different number of elastic network interfaces (ENIs) and IP addresses. If the node’s --max-pods value isn’t set correctly, the node can overcommit and fail to assign IPs to new pods.
This results in errors such as:
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "xxxxx" network for pod "coreservice-xxxxx": networkPlugin cni failed to set up pod "coreservice-xxxxx" network: add cmd: failed to assign an IP address to container
-
Understand node ENI limits
Each EC2 instance type supports a specific number of ENIs and IP addresses.
For example, an m5.large node can support:-
29 primary IPs, plus
-
2 × 31 secondary IPs
If the node exceeds its maximum supported IPs, Kubernetes cannot assign an IP to the pod, which triggers the pod sandbox error.
-
-
Avoid using a static --max-pods value
If your virtual node group uses a hard‑coded value (for example, the AWS default of 110), the node may allow more pods than it can assign IP addresses for.
Static values often cause:-
Overutilization (too many pods, not enough IPs)
-
Underutilization (wasted capacity if the value is too low)
-
-
Use the dynamic max-pods calculator script
Create a script to dynamically calculate the correct --max-pods value based on the instance type and CNI version at runtime.Example:
CNI_VERSION=<such as 1.11.4-eksbuild.1> MAX_PODS=$(/etc/eks/max-pods-calculator.sh --instance-type-from-imds --cni-version $CNI_VERSION)-
--instance-type-from-imds automatically retrieves the instance type from IMDS.
-
--cni-version ensures calculation matches your CNI plugin version.
-
-
Update your virtual node group user data
If your user data doesn’t define --max-pods, AWS defaults the value to 110, which is often incorrect.
Instead:-
Add the dynamic calculated value to user data, or
-
Remove static values to avoid misconfiguration.
-
-
Restart the node or scale the group
After updating user data or recalculating --max-pods, cycle the nodes so the new configuration takes effect.
Once the --max-pods value reflects the true ENI/IP limits of your instance type, new pods can successfully receive IP addresses, and the “Failed to create pod sandbox” error is resolved.
Related Articles
Resolve unregistered EKS nodes and cloud-init syntax errors referencing EOF 5Number of Views Why auto‑assigned public IP is disabled when a Fargate service is created 2Number of Views Managing Orphaned IP Addresses Assigned to Network Fencing 9Number of Views IP address not reported by Columbus Inventory Agent 4Number of Views Resolve GKE launchSpec update errors caused by missing node pools 2Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Revenera Assistant
Case id: 00001065
Activity: Status change: 2 hours ago