kube-scheduler
also: scheduler, Kubernetes scheduler
The Kubernetes component responsible for assigning pods to nodes in a cluster based on resource requirements, constraints, and scheduling policies.
kube-scheduler is a core Kubernetes control plane service that watches for newly created pods with no assigned node and selects the best node to run them on. It evaluates each pod's resource requests (CPU, memory), node selectors, affinity rules, taints, and tolerations to make intelligent placement decisions.
The scheduler uses a two-phase process: first it filters nodes that don't meet the pod's requirements, then it scores the remaining nodes to find the optimal placement. For example, it might reject nodes with insufficient memory, then prefer nodes with lower current load or better locality.
Example: A pod requesting 2 CPU cores and 4GB RAM in a 3-node cluster will be evaluated against each node's available resources and scheduling constraints before being assigned to the most suitable node.