The Conductor of Kubernetes: The kube-scheduler

Learn about the kube-scheduler.

The kube-scheduler

The kube-scheduler is a core component that helps assign Pod objects to the best node for them to run on with multiple scheduling strategies. It runs on the control plane, together with the kube-apiserver and kube-controller-manager. In this lesson, we present a brief introduction to the kube-scheduler.

What does the kube-scheduler do?

Generally speaking, the operation of kube-scheduler looks quite simple. All it does is wait for newly created Pod objects by watching the kube-apiserver and assigning a best-fitted node to those new Pod objects (also called “unassigned pods”) that don’t have a node assigned yet.

While the kube-scheduler neither manages the Pod directly nor operates the selected node to run the Pod, it updates the pod specification to the kube-apiserver. Then, the kube-apiserver will notify the kubelet running on the target node that the Pod has been scheduled.

The graph below shows the coarse-grained view of the scheduling process.

Get hands-on with 1400+ tech skills courses.