Q: Explain the concept of resource requests vs limits. What happens if you only set limits and not requests?
- Request — the guaranteed amount. Scheduler uses this to decide which node has enough room.
#Kubernetes #Advanced Scenarios #L2 #Container Orchestration #K8s
🎙️ Candidate Opening & Architectural Context
""When troubleshooting Kubernetes, I always follow a structured layered model: Pod status -> Events -> Logs -> Network. When addressing this question, I walk the interviewer through our production incident runbook: isolating the blast radius, checking diagnostic logs and metrics, and applying a safe fix.""
Advertisement
🛠️ Production Runbook & Step-by-Step Resolution
1️⃣
Initial Diagnostics & Root Cause Analysis
If you only set limits and not requests: Kubernetes sets requests equal to limits. This can make scheduling harder because the scheduler thinks each pod needs the full limit amount even if actual usage is much less.
- Request — the guaranteed amount. Scheduler uses this to decide which node has enough room.
- Limit — the maximum. Container is throttled (CPU) or killed (memory) if it exceeds this.
- Set requests accurately based on average usage.
2️⃣
Remediation & Permanent Safeguards
If you set neither: pod gets BestEffort QoS class — it's the first to be evicted under node memory pressure. Recommended practice:
- Set limits higher to allow burst.
- For CPU: it's okay to have a 5x ratio. For memory: be careful — exceeding limit = OOM kill.
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Request — the guaranteed amount. Scheduler uses this to decide which node has enough room.."
⚡ 60-Second Elevator Pitch Talking Points
- Request — the guaranteed amount. Scheduler uses this to decide which node has enough room.
- Limit — the maximum. Container is throttled (CPU) or killed (memory) if it exceeds this.
- Set requests accurately based on average usage.
Advertisement