Q: What's the difference between a Deployment and a StatefulSet? When would you use each?
- Deployment — for stateless apps. Pods are interchangeable. Any pod can handle any request. Use for web servers, APIs, workers.
#Kubernetes #Deployments & Workloads #L1 #Container Orchestration #K8s #Terraform State
🎙️ Candidate Opening & Architectural Context
""In one of our high-traffic production clusters, our SRE team handled this incident using a standardized runbook. 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 your app needs to remember who it is (stable network ID, stable storage), use StatefulSet. Otherwise use Deployment.
- Deployment — for stateless apps. Pods are interchangeable. Any pod can handle any request. Use for web servers, APIs, workers.
- StatefulSet — for stateful apps. Each pod gets a stable hostname (pod-0, pod-1...) and its own persistent volume. Pods start and stop in order. Use for databases, Kafka, Elasticsearch, Zookeeper.
2️⃣
Remediation & Permanent Safeguards
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Deployment — for stateless apps. Pods are interchangeable. Any pod can handle any request. Use for web servers, APIs, workers.."
⚡ 60-Second Elevator Pitch Talking Points
- Deployment — for stateless apps. Pods are interchangeable. Any pod can handle any request. Use fo...
- StatefulSet — for stateful apps. Each pod gets a stable hostname (pod-0, pod-1...) and its own pe...
Advertisement