Kube-Scheduler uses a two-step process: filtering and scoring. During filtering, it identifies nodes that meet the pod's requirements (like resource availability, taints, and tolerations). During scoring, it ranks the suitable nodes based on various criteria, such as resource availability, node affinity, and more. The node with the highest score is selected for the Pod.