What are the three Pod QoS classes?
QoS and eviction priority.
Guaranteed when every container sets equal requests and limits for CPU and memory; Burstable when requests are set but not matching limits; BestEffort when none are set; lower classes are evicted first under…
WHAT THIS TESTS Whether you understand how Kubernetes derives QoS from requests and limits and how that drives eviction ordering under node pressure.
A GOOD ANSWER COVERS There are three classes, assigned automatically from the resource settings. Guaranteed: every container in the Pod sets both a CPU and a memory limit, and each limit equals its corresponding request; requests may be omitted because they default to the limits. These Pods have the most predictable resources and are the last to be evicted. Burstable: the Pod does not qualify as Guaranteed, but at least one container has a CPU or memory request or limit set. These Pods can use more than their requests when capacity allows but are reclaimable above their requests. BestEffort: no container in the Pod sets any request or limit at all. These get whatever is left over. The classes matter most during node memory pressure: the kubelet evicts BestEffort Pods first, then Burstable Pods that are using more than their requests, and protects Guaranteed Pods longest. QoS also influences the OOM score the kernel assigns.
COMMON WRONG ANSWERS Thinking any Pod with requests set is Guaranteed, when Guaranteed strictly requires limits equal to requests on every container. Believing BestEffort means no scheduling. Getting the eviction order backwards. Forgetting that limits must equal requests for Guaranteed.
LIKELY FOLLOW-UPS Why must limits equal requests for Guaranteed? How does QoS affect the kernel OOM score? What gets evicted first under memory pressure? Can a single container omit requests and still be Guaranteed?
ONE CONCRETE EXAMPLE A Pod whose container sets cpu and memory requests and limits all to identical values is Guaranteed; one that sets only a memory request is Burstable; one with no resources specified is BestEffort, and under memory pressure that BestEffort Pod is the first the kubelet evicts.
Read the original → kubernetes.io
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.