QoS Classes — quality of service tiers for Pods.
1# Guaranteed QoS2apiVersion: v13kind: Pod4metadata:5 name: guaranteed-pod6spec:7 containers:8 - name: app9 image: nginx:latest10 resources:11 requests:12 cpu: "500m"13 memory: "256Mi"14 limits:15 cpu: "500m" # Same as request16 memory: "256Mi" # Same as request17---18# Burstable QoS19apiVersion: v120kind: Pod21metadata:22 name: burstable-pod23spec:24 containers:25 - name: app26 image: nginx:latest27 resources:28 requests:29 cpu: "250m"30 memory: "128Mi"31 limits:32 cpu: "500m" # Higher than request33 memory: "256Mi" # Higher than request34---35# BestEffort QoS36apiVersion: v137kind: Pod38metadata:39 name: besteffort-pod40spec:41 containers:42 - name: app43 image: nginx:latest44 # No requests or limits
1# Check QoS class2kubectl get pod guaranteed-pod -o jsonpath='{.status.qosClass}'3kubectl get pod burstable-pod -o jsonpath='{.status.qosClass}'4kubectl get pod besteffort-pod -o jsonpath='{.status.qosClass}'56# View QoS classes7kubectl get pods -o custom-columns=NAME:.metadata.name,QOS:.status.qosClass89# Check eviction priority10kubectl get events --field-selector reason=Evicted --sort-by=.lastTimestamp1112# Verify resource requests/limits13kubectl get pod guaranteed-pod -o jsonpath='{.spec.containers[0].resources}' | jq
Classes:
Eviction Order: