All pods scheduled on a single node. How do I balance pods on managed Kubernetes?

I have a managed Kubernetes cluster with 2 nodes and around 50 deployments/pods. However, all 50 pods are scheduled on a single node while the other node is completely empty.

How do I get the scheduler to schedule new pods on the node with more free resources? How do I evenly distribute the pods now?

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Try using podAntiAffinity or podAffinity in your deployment

I’ve noticed that this issue is definitely something real that kubernetes starting to avoid certain node or it will release most of the pods on the same node. But it is happening when user will scale down and up, executing command “kubectl scale” one after another, in short intervals. But if you give it some time problem seems to disappear - it is scaling evenly.

So at the end if you releasing or scaling normally with natural intervals (not many times per minute) it is more likely to distribute pods evenly.

That’s my observation - not sure if this is some general rule. So my conclusion is to just stop fighting with k8s :)

I hope it helped.

We have also encountered this issue:

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

card icon
Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Sign up
card icon
Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We’d like to help.

Learn more
card icon
Become a contributor

You get paid; we donate to tech nonprofits.

Learn more
Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow – whether you’re running one virtual machine or ten thousand.

Learn more ->
DigitalOcean Cloud Control Panel
Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.

This promotional offer applies to new account only.

© 2023 DigitalOcean, LLC.