🚀 Kubernetes Deployment Journey
Starting Command
kubectl apply -f deployment.yaml
Deployment with 3 pod replicas
Start Journey
Reset
Pause
🎛️ Control Plane
API Server
Gateway & Validation
etcd
Cluster State Store
Deployment Controller
Manages ReplicaSets
ReplicaSet Controller
Manages Pods
Scheduler
Assigns Pods to Nodes
💻 Worker Nodes
Kubelet
Node Agent
Container Runtime
Runs Containers
CNI Plugin
Pod Networking
kube-proxy
Service Networking
Pod 1
Pod 2
Pod 3
Detailed Journey Steps
1
kubectl sends request
Client validates YAML and sends HTTP request to API Server
2
API Server processes request
Authentication, authorization, admission control, and validation
3
Store in etcd
Deployment object is persisted in the cluster state store
4
Deployment Controller creates ReplicaSet
Watches for Deployment changes and creates corresponding ReplicaSet
5
ReplicaSet Controller creates Pods
Creates 3 Pod objects to match desired replica count
6
Scheduler assigns Pods to Nodes
Runs scheduling algorithm and assigns each Pod to optimal worker nodes
7
Kubelet starts containers
Node agents pull images and start containers via container runtime
8
Container Runtime executes
Creates and runs the actual application containers
9
CNI sets up networking
Assigns IP addresses and configures pod network connectivity
10
Pods are running! 🎉
All 3 pods are successfully running your application