Q: You want to make sure two pods of the same app NEVER run on the same node. How?
Use Pod Anti-Affinity:
#Kubernetes #Deployments & Workloads #L2 #Container Orchestration #K8s
🎙️ 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️⃣
Production Solution & Architecture
Use Pod Anti-Affinity: topologyKey: kubernetes.io/hostname means "don't put two pods with label app: myapp on the same host." Use required for a hard rule or preferred to let Kubernetes still schedule if no option exists.
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: myapp
topologyKey: kubernetes.io/hostname
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Use Pod Anti-Affinity:."
⚡ 60-Second Elevator Pitch Talking Points
- Immediate Triage: Use Pod Anti-Affinity:
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.
Advertisement