DEV Community

Er. Bhupendra
Er. Bhupendra

Posted on

kube-controller-manager (kubernate's part 4)

Kubernetes में kube-controller-manager क्या है? 🧠

Image

Image

Image

Image

1️⃣ kube-controller-manager क्या है

kube-controller-manager Kubernetes का component है जो cluster की desired state maintain करता है।

One line (Interview):
👉 kube-controller-manager controllers को run करता है जो cluster की desired state maintain करते हैं।


2️⃣ kube-controller-manager क्यों होता है

Kubernetes में हमेशा desired state define होती है।

Example:

replicas: 3
Enter fullscreen mode Exit fullscreen mode

अगर अचानक:

1 pod crash हो गया
Enter fullscreen mode Exit fullscreen mode

तो system automatically नया pod create करेगा

👉 यह काम controllers करते हैं जो controller manager के अंदर run करते हैं


3️⃣ kube-controller-manager क्या-क्या काम करता है

Controller manager के अंदर कई controllers होते हैं।

1️⃣ Node Controller

Check करता है:

node alive है या down
Enter fullscreen mode Exit fullscreen mode

अगर node down हो जाए:

pods दूसरे node पर shift
Enter fullscreen mode Exit fullscreen mode

2️⃣ Replication Controller / ReplicaSet Controller

Ensure करता है:

desired pods = actual pods
Enter fullscreen mode Exit fullscreen mode

Example:

replicas = 3
Enter fullscreen mode Exit fullscreen mode

अगर:

2 pod running
Enter fullscreen mode Exit fullscreen mode

तो controller:

1 नया pod create करेगा
Enter fullscreen mode Exit fullscreen mode

3️⃣ Deployment Controller

Deployment changes manage करता है।

Example:

rolling update
rollback
Enter fullscreen mode Exit fullscreen mode

4️⃣ Endpoint Controller

Service और pods का mapping maintain करता है।


5️⃣ Job Controller

Batch jobs manage करता है।


4️⃣ kube-controller-manager किस-किस से connection रखता है

1️⃣ kube-apiserver (Direct)

Controller manager हमेशा API server से communicate करता है

controller-manager → kube-apiserver
Enter fullscreen mode Exit fullscreen mode

यहाँ से:

  • cluster state read करता है
  • changes update करता है

2️⃣ etcd (Indirect)

Controller manager direct etcd से connect नहीं करता

Flow:

controller-manager
      ↓
kube-apiserver
      ↓
etcd
Enter fullscreen mode Exit fullscreen mode

3️⃣ kube-scheduler (Indirect)

Controller pod create करता है।

फिर:

scheduler → node assign
Enter fullscreen mode Exit fullscreen mode

4️⃣ kubelet (Indirect)

Node पर pod run करता है।

kubelet → pod run
Enter fullscreen mode Exit fullscreen mode

5️⃣ Real Example

Deployment file:

replicas: 3
Enter fullscreen mode Exit fullscreen mode

अगर:

1 pod crash
Enter fullscreen mode Exit fullscreen mode

Flow:

controller-manager detect
 ↓
new pod create request
 ↓
kube-apiserver
 ↓
scheduler node select
 ↓
kubelet pod run
Enter fullscreen mode Exit fullscreen mode

6️⃣ One Line Memory Trick 🧠

👉 kube-controller-manager = Kubernetes का auto-healing system जो desired state maintain करता है।

या

👉 Controllers ensure that desired state = actual state.


7️⃣ Kubernetes Control Plane Easy Trick 🔥

API Server → Gateway
etcd → Database
Scheduler → Pod placement
Controller Manager → Auto fix / maintain state
Enter fullscreen mode Exit fullscreen mode

Node side:

kubelet → Pod run
kube-proxy → Network
Enter fullscreen mode Exit fullscreen mode

✅ अगर चाहो तो मैं पूरी Kubernetes architecture को 1 super diagram + 5 interview lines में समझा दूँगा जिससे interview में पूरा K8s architecture 30 seconds में explain कर पाओगे।

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.