Kubernetes

Missing Resource Requests Cause Unpredictable Pod Placement

critical
configurationUpdated Oct 20, 2025

Pods deployed without CPU/memory requests lead to scheduler misplacement, resource contention, and OOMKilled containers. The scheduler cannot reserve appropriate resources, resulting in too many pods on single nodes and performance degradation.

How to detect:

Identify pods with undefined resource requests/limits in deployment specs. Monitor for frequent OOMKilled events, pod evictions, uneven node resource distribution, and performance degradation under load. Check kubectl top pods for containers consuming excessive resources relative to node capacity.

Recommended action:

Set explicit resource requests and limits for all containers. Start with modest values (e.g., 100m CPU, 128Mi memory) and refine based on kubectl top pods monitoring. For critical applications, align requests and limits to guarantee QoS. Implement resource quotas at namespace level to prevent cluster-wide exhaustion.