> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How do Kubernetes QoS classes work?

Kubernetes assigns each Pod one of three Quality-of-Service classes based on its resource requests and limits, and the kubelet uses that class to decide which Pods to evict first under memory pressure:

* **Guaranteed**: every container has CPU and memory `requests` equal to its `limits`. Last to be evicted.
* **Burstable**: at least one container has a `requests` or `limits` set, but the Pod doesn't meet the Guaranteed criteria (for example, `requests` are lower than `limits`, or only one of the two is specified). Evicted before Guaranteed.
* **BestEffort**: no `requests` or `limits` set on any container. Evicted first.

For long-running training and inference workloads on CoreWeave, prefer Guaranteed by setting `requests` equal to `limits`, so a job is not evicted before its peers.

For full details, see the [Kubernetes Pod QoS reference](https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/).

***

<Badge stroke shape="pill" color="blue" size="md">[Workload Scheduling](/support/cks/tags/workload-scheduling)</Badge>
