Example Documentation: Resource QoS
Goal
Recognize the QoS classes BestEffort, Burstable and Guaranteed using concrete Pods.
What Is Done
Three Pods are created with different resource settings. Kubernetes derives the corresponding QoS class from those settings.
Typical Commands
kubectl apply -f manifests/
kubectl get pods -n qos-lab
kubectl get pod besteffort-pod -n qos-lab -o jsonpath='{.status.qosClass}{"\n"}'
kubectl get pod burstable-pod -n qos-lab -o jsonpath='{.status.qosClass}{"\n"}'
kubectl get pod guaranteed-pod -n qos-lab -o jsonpath='{.status.qosClass}{"\n"}'
Validate Success
besteffort-podisBestEffort.burstable-podisBurstable.guaranteed-podisGuaranteed.
Common Mistakes
- CPU is set but memory is forgotten.
- Requests and limits are treated as style rather than a scheduling contract.
- QoS is confused with PriorityClass.