priorityClassName.
Priority values are 32-bit signed integers (range -2,147,483,648 to 2,147,483,647). By convention, user-defined priorities use values well below 1,000,000,000. Kubernetes reserves very large values (near 2,000,000,000) for system-critical components such as control plane pods.

List PriorityClasses in a cluster
To see the PriorityClasses currently defined in your cluster:Create a PriorityClass
A PriorityClass object uses API groupscheduling.k8s.io/v1 and kind PriorityClass. You provide a numeric value and can also set description, globalDefault, and preemptionPolicy.
Example PriorityClass manifest:
- If a pod does not set
priorityClassName, its effective priority is 0 by default. - Only one PriorityClass in the cluster may set
globalDefault: true. That single class defines the default priority for pods that omitpriorityClassName.
Only one PriorityClass may be marked
globalDefault: true. Attempting to create multiple global defaults will cause ambiguous default behavior — choose carefully.PriorityClass fields (quick reference)
Effect of pod priority on scheduling
When multiple pods compete for scarce resources, the scheduler orders them by priority. Higher-priority pods get scheduled before lower-priority pods. For example, given a critical app with priority 7 and a jobs app with priority 5, the scheduler will place the priority-7 pod first; remaining capacity, if any, is then used for lower-priority pods.
Preemption behavior
If a higher-priority pod cannot be scheduled because there are no free resources, the scheduler checks the pod’s PriorityClasspreemptionPolicy. If preemptionPolicy is omitted, the default behavior is PreemptLowerPriority: the scheduler may evict lower-priority pods to make space.
Example explicit default preemption policy:
preemptionPolicy: Never. Such pods will remain in the scheduling queue until resources become available. They still rank above other waiting pods but will not trigger eviction.
Example non-preempting PriorityClass:
preemptionPolicy is case-sensitive. Use exactly PreemptLowerPriority or Never. Choosing Never prevents eviction but can leave higher-priority pods unscheduled until resources free up.Additional resources
- Kubernetes Scheduling Concepts
- Priority and Preemption Documentation
- kubectl reference:
kubectl get priorityclass,kubectl describe priorityclass <name>