Kubernetes QoS Calculator
Container resources
CPU in millicores (500m is half a core), memory in MiB. Leave a field empty for unset, which is exactly how the kubelet sees it.
Middle of the eviction order. Can use spare capacity, and can lose it under pressure.
- notememory limit above request overcommits the node. Under pressure this pod is evicted before Guaranteed pods.
Requests and limits in, QoS class and eviction consequences out.
Kubernetes QoS FAQs
What are the three QoS classes?
Guaranteed: every container sets requests and limits for both CPU and memory, with request equal to limit. BestEffort: nothing is set at all. Burstable: everything in between. One container falling short of the Guaranteed rules makes the whole pod Burstable.
Why does the QoS class matter?
It sets the eviction order when a node runs short of memory: BestEffort pods go first, then Burstable pods exceeding their requests, and Guaranteed pods last. For anything stateful or latency-critical, the class is effectively your seat on the lifeboat.
Should everything be Guaranteed then?
No. Guaranteed reserves the full limit for every pod, which forfeits the overcommit that makes clusters efficient. A common pattern is Guaranteed for critical stateful services, Burstable with honest requests for most workloads, and BestEffort only for genuinely disposable jobs.
What happens when a container exceeds its memory limit?
It is OOM-killed by the kernel, regardless of QoS class. Exceeding the CPU limit merely throttles. That asymmetry is why the calculator flags missing memory limits: without one, a leak grows until the node itself comes under pressure and the eviction order decides who pays.
Is my configuration sent anywhere?
No. Classification happens in your browser and the page works offline.