1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/nodes-pods-priority-examples.adoc
2019-05-13 13:57:48 +10:00

51 lines
1.8 KiB
Plaintext

// Module included in the following assemblies:
//
// * nodes/nodes-pods-priority.adoc
[id="nodes-pods-priority-examples_{context}"]
= Pod priority example scenarios
Pod priority and preemption assigns a priority to pods for scheduling. The scheduler will preempt (evict) lower-priority pods in order to schedule higher-priority pods.
Typical preemption scenario::
*Pod P* is a pending pod.
. The scheduler locates *Node N*, where the removal of one or more pods enables *Pod P* to be scheduled on that node.
. The scheduler deletes the lower-priority pods from the *Node N* and schedules *Pod P* on the node.
. The `nominatedNodeName` field of *Pod P* is set to the name of *Node N*.
[NOTE]
====
*Pod P* is not necessarily scheduled to the nominated node.
====
Preemption and termination periods::
The preempted pod has a long termination period.
. The scheduler preempts a lower-priority pod on *Node N*.
. The scheduler waits for the pod to gracefully terminate.
. For other scheduling reasons, *Node M* becomes available.
. The scheduler can then schedule *Pod P* on *Node M*.
////
Under consideration for future release
Pod priority and cross-node preemption::
*Pod P* is being considered for *Node N*.
. *Pod Q* is running on another node in the same zone as *Node N*.
. *Pod P* has zone-wide anti-affinity with *Pod Q*, meaning *Pod P* cannot be scheduled in the same zone as *Pod Q*.
+
There are no other cases of anti-affinity between *Pod P* and other pods in the zone.
. In order to schedule *Pod P* on *Node N*, the scheduler must preempt *Pod Q* to remove the pod anti-affinity violation, allowing the scheduler to schedule *Pod P* on *Node N*.
The scheduler can preempt *Pod Q*, but scheduler does not perform cross-node preemption. So, Pod P will be deemed unschedulable on Node N.
////