Missing Resource Requests Cause Unpredictable Pod Placement
criticalPods 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.
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.
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.