BestEffort QoS Pods¶
BestEffort is one of the Kubernetes Quality of Service (QoS) classes assigned to Pods. It represents the lowest priority tier for resource scheduling and management.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
Classification Criteria¶
A Pod is classified as BestEffort when none of its containers have set resource request or limit values for CPU or memory.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
For example, the following Pod definition lacks a resources section entirely and will therefore be assigned the BestEffort class:
apiVersion: v1
kind: [Pod](<./pod.md>)
metadata:
name: qos-demo-3
namespace: qos-example
spec:
containers:
- name: qos-demo-3-ctr
image: nginx
You can verify the QoS class of a running Pod by inspecting its status, which will display qosClass: BestEffort.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
Resource Behavior and Eviction¶
Because BestEffort Pods do not request specific resources, the scheduler has no specific resource guarantees to consider when placing them on a node.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md] Consequently, these Pods operate with the lowest priority compared to other QoS classes.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
In scenarios where system resources (such as memory) are exhausted, the Kubernetes eviction mechanism will target BestEffort Pods first to reclaim capacity.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md] Only after all BestEffort Pods have been terminated will the system consider evicting Pods from higher priority classes.
Related Concepts¶
Sources¶
400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md