Kubernetes 1.34 to 1.36 BestEffort pods via empty resources {}
On Kubernetes 1.34 through 1.36, an empty pod-level resources block inadvertently assigns pods a BestEffort Quality of Service class, altering their OOM scores and CPU scheduling weights. Testing revealed that while this misclassification affects node cgroups and resource quotas, the kubelet continues to rank pods for memory-pressure eviction using their container-level memory requests. Kubernetes 1.37 resolves the issue via a beta feature gate, and GitLab Runner version 19.5.0 removes the empty block from generated job pods. Open article →