A Deep Dive into Kubernetes Scheduling

Learn about the powerful capabilities of the Kubernetes scheduling component.

Kubernetes scheduling

The kube-scheduler is one of the three core components in the Kubernetes control plane, together with the kube-apiserver and kube-controller-manager. It can run with multiple replicas, but only the one that acquires the leader lock takes the charge of scheduling a Pod to a node that fits it best. Various scheduling strategies are supported, such as Pod topology spread, Pod Quality of Service (QoS), Pod priority, node taints, Pod tolerations, node anti-affinity, Pod affinity/anti-affinity, etc. When the Pod is bound to a target node, the kubelet running on that node will get notified and retrieve that Pod from the kube-apiserver. Then, the kubelet calls the container runtime (such as containerd) to create containers according to Pod specification.

In this lesson, we’ll learn about the Kubernetes scheduling system in detail.

Get hands-on with 1200+ tech skills courses.