K8s Deployment Creation — What Happens Behind The Scenes

A deep dive of k8s deployment creation process

5 min readJun 6, 2024

As a dedicated Kubernetes (k8s) user, you’re likely no stranger to the command kubectl create -f deployment.yaml. It's become a staple in your daily workflow, effortlessly summoning Kubernetes deployment objects with just a few keystrokes. But amidst the convenience of this command lies a captivating tale of orchestration and coordination behind the scenes.

Have you ever paused to ponder the intricate ballet of Kubernetes components that dance together to fulfill your command? It’s a symphony of technology orchestrated by the Kubernetes API server, deployment controller, replicaSet controller, scheduler, and an ensemble of other components working in perfect harmony.

The kubectl create Command

The kubectl create command serves as a powerful tool for creating Kubernetes (k8s) resources either from a file or through standard input (stdin). Operating within the realm of imperative management, kubectl create empowers users to interactively specify their desired actions to the Kubernetes API server.

Whether you seek to create, replace, or delete a resource, this command facilitates seamless communication with the Kubernetes cluster. Essentially, invoking…