Q: You want to implement pod disruption budgets across your cluster. What is a PDB and how does it protect your services?
A PodDisruptionBudget (PDB) limits how many pods of a deployment can be voluntarily disrupted at the same time. "Voluntary disruption" in...
#Kubernetes #Advanced Scenarios #L3 #Container Orchestration #K8s
🎙️ Candidate Opening & Architectural Context
""In our production Kubernetes clusters running microservices on EKS/AKS, this was a classic operational challenge. 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
A PodDisruptionBudget (PDB) limits how many pods of a deployment can be voluntarily disrupted at the same time. "Voluntary disruption" includes node drains, rolling updates, and cluster upgrades.
minAvailable: 2— at least 2 pods must remain.maxUnavailable: 1— at most 1 pod can be down at a time.
2️⃣
Remediation & Permanent Safeguards
Example: This says: "When draining a node, don't proceed if it would bring my-app below 2 running pods." Use: During a cluster upgrade when nodes are drained, without PDBs your entire deployment could go down if all pods happen to be on the nodes being drained.
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-app-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: my-app
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: minAvailable: 2 — at least 2 pods must remain.."
⚡ 60-Second Elevator Pitch Talking Points
- minAvailable: 2 — at least 2 pods must remain.
- maxUnavailable: 1 — at most 1 pod can be down at a time.
Advertisement