awslabs/amazon-eks-ami

feat(nodeadm): set kubelet's maxPods to support VPC CNI prefix delegation

Opened this issue · 3 comments

A similar issue #1902 has been closed by its author, however, it would be good to get a direct answer from the maintainers.

In AL2 we used the /etc/eks/max-pods-calculator.sh script to calculate max pods with the prefix delegation and to pass this number to Karpenter. However, it seems that this script is not provided in AL2023. What are the recommended alternatives now? Should we resort to fetching the script from this repo at boot time? This does not seem right

This functionality has not been implemented in AL2023 (yet). The script won't be moved over; this would be implemented with a feature gate in the NodeConfig. We'll use this issue to track the feature request.

Also waiting for this feature to be implemented.

If you're using the prefix delegation on the CNI, is it safe to just bump the maxPods on the kubelet config currently as it's not done by a script right now or are there some hidden caveats like kube-reserved that are bad enough to not make this production ready? Or in other words, is the only safe way to increase a nodes maxPods is by going up EC2 instance type currently for AL2023 nodes?

This might be off-topic now, but the current AWS docs on increasing a nodes max pods on the matter also seem a bit weird, and for managed nodegroups without an AMI specified the maxPods should get calculated correctly:

Managed node groups automatically calculates the Amazon EKS recommended max-pods value for you.

Not sure is the recommended value now the default value from the eni-max-pods.txt or a higher value now that prefix delegation is enabled.