Guaranteed QoS Pods¶
In the context of Kubernetes resource management, a Guaranteed QoS Pod is a specific classification of Pod that receives the highest priority for resource allocation and stability.^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
Classification Criteria¶
A Pod is assigned the Guaranteed class of Service Quality (QoS) only when strict conditions are met for every container within that Pod. Specifically, for each container, the requested CPU and memory resources must be exactly equal to their defined limits^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md].
- CPU:
request.cpu==limit.cpu - Memory:
request.memory==limit.memory^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]
The following example demonstrates a configuration that results in a Guaranteed QoS classification^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]:
apiVersion: v1
kind: [Pod](<./pod.md>)
metadata:
name: qos-demo
spec:
containers:
- name: qos-demo-ctr
image: nginx
resources:
limits:
memory: "200Mi"
cpu: "700m"
requests:
memory: "200Mi"
cpu: "700m"
Characteristics and Behavior¶
Guaranteed Pods represent the highest tier in the Kubernetes QoS hierarchy^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]. Because their resource requests are guaranteed to be reserved, they offer the most stable performance environment for critical applications.
Priority and Eviction¶
Compared to Burstable QoS Pods and BestEffort QoS Pods, Guaranteed Pods hold the highest priority^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md].
- Stability: They are generally not killed or throttled as long as their resource usage remains within the defined limits^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md].
- Eviction Policy: The system will only terminate Guaranteed Pods if they exceed their resource limits and there are no lower-priority Pods (such as BestEffort or Burstable) available to be evicted to reclaim memory^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md].
Related Concepts¶
- [[Kubernetes Resource Requests]]
- [[Kubernetes Resource Limits]]
- [[QoS Classes]]
Sources¶
^[400-devops__06-Kubernetes__k8s-ithelp__Day21__README.md]