- Define both `requests` and `limits` for CPU and Memory
- Set CPU requests to the baseline required; avoid aggressive CPU limits which can cause artificial throttling
- Ensure memory limits are equal to or slightly higher than requests to prevent unexpected OOMs
- Always define `requests` for memory and CPU to guarantee node scheduling and baseline performance
- Ensure Memory `limits` are strictly defined to contain leaks, but keep CPU limits absent or high enough to avoid severe application throttling
- Understand that your pod's QoS class evaluates to 'Guaranteed' only when requests perfectly match limits