githubEdit

How to Fix Pods Not Getting Scheduled Due to Node Pod Limit

If you notice that pods like filebeat, node-exporter, or cadvisor are not getting scheduled on your Kubernetes nodes and you're receiving "Pods Not Running" alerts, this might be due to reaching the maximum pod limit per node. Solution To resolve this issue, increase the maximum number of pods allowed per node. The recommended setting is 50 to 110 pods(depending on instance type) per node to ensure proper scheduling of system and monitoring pods. Go to AWS >> EKS cluster >> Add-ons. Update "Amazon VPC CNI" and add "{"env":{"ENABLE_PREFIX_DELEGATION":"true"}}" in "Advanced configuration" >> click on "Save changes". (Accepts JSON and YAML) Connect to EKS cluster and Check if "ENABLE_PREFIX_DELEGATION" is "true" env is set in aws-node pods. Go to AWS EC2, Go to launch template >> "Action" >> "Modify Template". In "Advanced details", Add "--max-pods={Pods_limit}" in "--kubelet-extra-args". Click on "Creating template version" Click on "Action" >> "Set default version" and give default version as {latest template version}. Shift load to newly created instances and delete all old nodes. You can also check https://aws.amazon.com/blogs/containers/amazon-vpc-cni-increases-pods-per-node-limits/ Common Symptoms Pods remain in "Pending" state "Pods Not Running" alerts System monitoring pods (filebeat, node-exporter, cadvisor) fail to schedule If you need assistance adjusting the pod limit for your nodes, please contact our support team.

Last updated

Was this helpful?