Pod Priority Classes 2026
Priority classes prevent low-priority pods from starving the cluster. The pattern.
Levels
Pod priority classes determine the order in which Kubernetes schedules and evicts pods. The discipline is using priority classes to protect critical workloads while allowing less important workloads to run when capacity allows.
What priority levels look like:
- system-critical, high, default, low.: The team's hierarchy typically has these levels. Each has a numeric priority value; higher numbers win in scheduling.
- Each with priority value.: The numeric value is what Kubernetes uses for ordering. The team's class names map to values; the discipline is consistent.
- Higher: scheduled first.: When the cluster is under pressure, higher-priority pods schedule first. The discipline ensures the most important workloads get capacity.
- Preempts lower.: When capacity is tight, higher-priority pods can preempt lower. The discipline produces ordered survival.
- Document the hierarchy.: The team's priority hierarchy is documented. New workloads get appropriate priority; the discipline is consistent.
The levels are the framework. Each workload is assigned to one based on importance.
When
Pod priority classes are valuable in mixed-criticality clusters. The discipline handles the case where multiple workload types share capacity.
- Mixed-criticality clusters.: Clusters running both production and batch workloads benefit. The discipline ensures production survives capacity constraints; batch tolerates interruption.
- Production plus batch jobs.: The typical mix. Production needs reliability; batch can be interrupted; the priority classes encode this.
- Catches the case where batch starves prod during scaling.: Without priority classes, scheduler picks pods arbitrarily during capacity events. With priority, production wins; the discipline prevents starvation.
- Single-criticality clusters do not benefit.: When all workloads are equally important, priority classes do not help. The discipline applies only to mixed-criticality.
- Test the behavior.: The team verifies priority class behavior under capacity pressure. Production survives; batch yields; the discipline is verified.
The when-to-use is mixed-criticality. The discipline matches the workload diversity.
Avoid
Some patterns produce predictable problems. Everything marked system-critical defeats the system; the discipline is keeping high priority for genuine production.
- Everything system-critical.: When every pod has high priority, the priority loses meaning. There is no order; preemption cannot resolve capacity conflicts; the discipline fails.
- Defeats the system.: Universal high priority defeats the priority class system. The discipline must distinguish; not everything can be critical.
- Most pods should be default.: The default priority is the right choice for most workloads. High priority is reserved for genuine production criticality; the discipline is bounded.
- Audit the priority assignments.: The team audits priority class usage. Pods with inappropriate priorities are identified; the discipline corrects them.
- Document the rationale.: Each pod's priority class has a documented rationale. Future maintainers understand; the discipline is preserved through team changes.
Pod priority classes is one of those Kubernetes operational disciplines that pays off in capacity-constrained scenarios. Nova AI Ops integrates with cluster scheduling telemetry, surfaces patterns, and supports the team's priority discipline.