liveBook · Manning

Best-effort QoS class

As explained in Kubernetes for Developers

The BestEffort QoS class is a Kubernetes Pod quality-of-service classification assigned when containers have no resource requests or limits.

Kubernetes assigns a Pod to the BestEffort quality-of-service class when none of its containers define resource requests or limits. Kubernetes can schedule these Pods wherever it chooses, but this is the lowest QoS class and is generally unsuitable for dependable workloads. section 5.1.2

Best-effort placement has direct reliability consequences:

  • During resource contention, Kubernetes considers BestEffort Pods first for eviction because they have no resource requests. section 5.1.3
  • Among same-priority BestEffort Pods, Kubernetes starts with the Pods using the most resources. section 5.1.3
  • Frequent Evicted statuses indicate that containers should request more resources and that cluster capacity may need review. section 5.1.3

An unreserved Pod

A Pod whose containers omit both requests and limits is classified as BestEffort. It may run on available nodes under normal conditions, but resource pressure makes it the first QoS class considered for eviction. section 5.1.2 section 5.1.3

Figure 5.5 Eviction order for Pods of equal priority
05-05

Use the eviction-order figure to compare how BestEffort Pods are ranked against other Pods with equal priority. section 5.1.3

How Kubernetes for Developers covers it

How deep it goes
Defines classification and eviction consequences, but does not provide a complete BestEffort manifest or internal scheduler algorithm.
Examples
Uses omitted resource settings and eviction-order comparisons to illustrate BestEffort behavior.
What it assumes
Assumes basic familiarity with Pods and containers while explaining requests, limits, QoS classes, and eviction consequences.
What you can do after
Diagnose Evicted Pods by checking resource requests, usage during contention, and available cluster capacity.
How it connects
Connects BestEffort to Kubernetes QoS classes, resource requests, resource limits, eviction, and Pod priority.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes for Developers. The section links point to the parts of the book it draws on.