⚡ ~/naveed Interview Prep
⚡ Portfolio Home ✍️ Engineering Blog Deep Dives 🎯 Interview Hub 998+ Scenarios ☸️ Kubernetes Mastery Hub 24 Modules 🎮 DevOps Arcade & Quizzes Subnet Blitz ⚡ 🗺️ DevOps Roadmaps PDFs & Guides 🤖 Morpheus Analysis AI Quant ↗ 🛠️ Developer Tools Utilities 🧪 Labs & Experiments 📄 Interactive CV & Certs 🔗 All Links & Socials ⚡ Join The Dispatch (Weekly SRE Newsletter) →
Staff SRE / Principal Architect [L3] Kubernetes Advanced Scenarios Staff SRE Scenario [L3]

Q: Explain the difference between `kubectl apply` and `kubectl create`. When would you use each?

- kubectl create — imperative. Creates the resource. Fails if it already exists. Good for one-time resource creation.

#Kubernetes #Advanced Scenarios #L3 #Container Orchestration #K8s #Git
🎙️ 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

In CI/CD pipelines, always use kubectl apply — it's idempotent. Running the pipeline twice won't fail.

  • kubectl create — imperative. Creates the resource. Fails if it already exists. Good for one-time resource creation.
  • kubectl apply — declarative. Creates if not exists, updates if it does. Tracks changes using the kubectl.kubernetes.io/last-applied-configuration annotation. Good for GitOps and automation.
2️⃣

Remediation & Permanent Safeguards

Use kubectl create when you specifically want the command to fail if the resource exists (e.g., to prevent accidental overwrites in a script). kubectl apply with --server-side (SSA) is the modern approach — the server handles merge strategy instead of the client annotation.

💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: kubectl create — imperative. Creates the resource. Fails if it already exists. Good for one-time resource creation.."
⚡ 60-Second Elevator Pitch Talking Points
  • kubectl create — imperative. Creates the resource. Fails if it already exists. Good for one-time ...
  • kubectl apply — declarative. Creates if not exists, updates if it does. Tracks changes using the ...
Advertisement
Want more Kubernetes scenarios?
Explore our complete collection of scenario-based Kubernetes interview runbooks.
Browse All Kubernetes Questions →

📚 Related Production Scenarios in Kubernetes