
Anatomy of `kubectl apply` - Inside the Kubernetes Control Plane
Software Engineer Interview Prep PodcastShow Notes
When I run kubectl apply, the request is sent to the Kubernetes API Server, which acts as the entry point to the cluster. The API Server processes the request through several stages: Authentication – validates the client (certificates, tokens, etc.)
Authorization – checks permissions using RBAC
Admission Controllers Mutating (e.g., inject defaults, sidecars)
Validating (ensure request is compliant)
Once validated, the object is persisted. The API Server stores the Deployment object in etcd, which is the cluster’s consistent key-value store. At this point, the desired state is recorded—but nothing is running yet. The Kubernetes Controller Manager detects the new Deployment via the API Server’s watch mechanism. Deployment Controller creates a ReplicaSet
ReplicaSet Controller creates the required Pods
This is all driven by control loops comparing: Desired state (in etcd)
Current state (actual cluster)
The Pods are created without a node assigned. The kube-scheduler: Filters nodes (resource constraints, taints, node selectors)
Scores remaining nodes (resource availability, affinity rules)
Assigns the best node
Once scheduled, the kubelet on the node pulls the image and starts the container. "The important thing is Kubernetes is entirely declarative and event-driven. Nothing is executed immediately—instead, components continuously reconcile actual state toward desired state."
More from Software Engineer Interview Prep Podcast
"Design the backend for Twitter." Reciting HTTP verbs won't get you through that whiteboard session. In this deep dive we build a complete, staff-level blueprint for REST API design: the reasoning behind every rule, the trade-offs interviewers probe, and the patterns that keep large systems evolving safely.
Your connection drops mid-checkout on a $1,000 ticket. Do you hit refresh and risk paying twice? The answer lives in the invisible architecture of REST APIs. In this deep dive we go from the basic grammar of the web to the patterns that keep global platforms fast, safe and reliable.
"Walk me through what happens from kubectl apply to the first request hitting your container." It sounds like a warm-up question, but how you answer it can decide whether you land a senior or staff role. In this deep dive we trace a pod from creation to production and unpack the failure modes interviewers expect you to anticipate.
Senior system design interviews don't test whether you know what a load balancer is. They test how you think under pressure: how you handle ambiguity, weigh brutal trade-offs and defend every box you draw. In this deep dive we unpack the framework used to evaluate senior engineers, architects and principal candidates.
A single misconfigured setting in Kafka doesn't just slow a page down. It can silently vaporize financial transactions. In this deep dive we walk through real production failure scenarios and the exact reasoning interviewers look for in staff-level system design interviews.