Quality of Service (QoS) Classes
Kubernetes assigns each pod to a QoS class based on its resource requests and limits. This affects how pods are prioritized when resources become scarce.
Guaranteed QoS
A pod gets Guaranteed QoS when:
- Every container in the pod has identical CPU and memory requests and limits
- Limits equal requests for all resources
resources:
requests:
memory: "128Mi"
cpu: "500m"
limits:
memory: "128Mi"
cpu: "500m"
Pods with Guaranteed QoS have the highest priority and are least likely to be evicted under resource pressure.
Burstable QoS
A pod gets Burstable QoS when:
- At least one container has a resource request and/or limit
- The pod doesn’t meet the criteria for Guaranteed QoS
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
Pods with Burstable QoS have medium priority for eviction.
BestEffort QoS
A pod gets BestEffort QoS when:
- None of its containers have any resource requests or limits
# No resources section specified
Pods with BestEffort QoS have the lowest priority and are first to be evicted under resource pressure.