Q: What is Pod Topology Spread Constraints and how is it different from `podAntiAffinity`?
Both spread pods across topology domains (nodes, zones).
#Kubernetes #Additional Kubernetes Scenarios (Q101-Q200) #L3 #Container Orchestration #K8s
🎙️ Candidate Opening & Architectural Context
""Kubernetes is a declarative desired state system; understanding the reconciliation loop is how you diagnose this quickly. 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️⃣
Production Solution & Architecture
Both spread pods across topology domains (nodes, zones). podAntiAffinity: binary — either pods can or can't be on the same node. Doesn't control HOW spread out they are. Topology Spread Constraints: specifies maxSkew — the maximum difference in pod count between any two topology domains. maxSkew: 1 means: never have more than 1 extra pod in one zone vs another. More granular control for even distribution. Example: 10 pods across 3 zones. With maxSkew: 1: could be 4/3/3. Anti-affinity would just say "no two pods on same node" which doesn't ensure zone balance.
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Both spread pods across topology domains (nodes, zones).."
⚡ 60-Second Elevator Pitch Talking Points
- Immediate Triage: Both spread pods across topology domains (nodes, zones).
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.
Advertisement