Kubernetes Scheduling, Preemption and Eviction Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
=Kubernetes Scheduler= | =Kubernetes Scheduler= | ||
{{External|https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/}} | |||
The scheduler is a system service whose job is to distribute [[Kubernetes_Pod_and_Container_Concepts#Deployment|pods]] to [[#Worker_Node|nodes]] for execution. An individual pod can be scheduled on one node and one node only, and the target node is chosen by the scheduler as result of the evaluation of a set of predicates that include affinity and anti-affinity rules, taints and tolerations, resource availability, etc., followed by ranking according to criteria such as whether the node has the image or not, how many pods are already running, etc. The highest ranking node is chosen to run the pod. If the scheduler cannot find a suitable node, the pod goes into a "[[Kubernetes_Pod_and_Container_Concepts#Pending|Pending]]" state. |
Revision as of 19:23, 6 December 2023
External
Internal
Overview
Kubernetes Scheduler
The scheduler is a system service whose job is to distribute pods to nodes for execution. An individual pod can be scheduled on one node and one node only, and the target node is chosen by the scheduler as result of the evaluation of a set of predicates that include affinity and anti-affinity rules, taints and tolerations, resource availability, etc., followed by ranking according to criteria such as whether the node has the image or not, how many pods are already running, etc. The highest ranking node is chosen to run the pod. If the scheduler cannot find a suitable node, the pod goes into a "Pending" state.