Does Kubernetes reschedule pods to other minions if the minions join latter?

1/9/2018

I was running a test with initially a minion node and a master node. I created 5 pods on the cluster and later on 2 minion nodes joined the cluster.

So the problem I faced was that all the pods were only scheduled on the master and minion nodes. They were not re-scheduled to new nodes so as to divide the whole resources. Due to which my new minion nodes were just sitting idle and didn't do any processing.

Is there anything specially to be run to make this happen ?

-- Anshul Jindal
kubernetes
node.js

1 Answer

1/9/2018

Not really. The scheduler is called whenever something needs to be scheduled, so unless you deploy new replicas of the pod, the scheduler won't be bothered again.

Whenever you want to schedule something, like creating a Deployment or a Pod, the scheduler looks at the available resources to place the Pods where it thinks is best. Next time you schedule something, it will take into account the new minions added to the cluster. Or if your pods are created via a Deployment object, you could try deleting one Pod, so the ReplicationController will create a new Pod and the scheduler may choose one of the new minions.

The documentation also recommends creating a Service before creating a Deployment`, so the scheduler will spread the pods better among the minions.

-- Jose Armesto
Source: StackOverflow