In Kubernetes we can set the priority of a pod to Guaranteed
, Burstable
or Best-Effort
base on requests and limits. Another method to assign priorities in Kubernetes is to define a priorityClass
object and assign a priorityClassName
to a pod. How are these methods different and when we have to choose one method over another? According to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#interactions-of-pod-priority-and-qos:
The scheduler’s preemption logic does not consider QoS when choosing preemption targets. Preemption considers Pod priority and attempts to choose a set of targets with the lowest priority.
So if the Kubernetes has to choose between a pod with Guaranteed
QoS which has a lower "priorityClass" Value than a Burstable
pod, does it put the Guaranteed
pod in Preempting state?