DEV Community

Er. Bhupendra
Er. Bhupendra

Posted on

Kube-apiserver (Kubernates's Part 1)

Kubernetes में kube-apiserver क्या है? 🚀

Image

Image

Image

Image

1️⃣ kube-api-server क्या है

kube-apiserver Kubernetes का main entry point (front door) होता है।

👉 Cluster में कोई भी operation (create pod, delete service, scale deployment) directly components से नहीं बल्कि kube-apiserver के through होता है।

Simple line (Interview answer):

kube-api-server Kubernetes control plane का central component है जो cluster के सभी requests को receive करता है, validate करता है और etcd में store करता है।


2️⃣ kube-api-server क्यों होता है

अगर यह न हो तो:

  • kubectl सीधे etcd से बात करेगा
  • scheduler सीधे pod create करेगा
  • controllers directly changes करेंगे

इससे chaos और security problem हो जाएगी।

इसलिए Kubernetes में single gateway = kube-apiserver बनाया गया।

👉 मतलब
Cluster का पूरा communication इसी के through होता है


3️⃣ kube-api-server क्या-क्या काम करता है

1️⃣ API expose करता है

Kubernetes REST API provide करता है।

Example:

kubectl get pods
Enter fullscreen mode Exit fullscreen mode

यह command internally request भेजती है:

kubectl → kube-apiserver
Enter fullscreen mode Exit fullscreen mode

2️⃣ Authentication check करता है

Check करता है कि request किसने भेजी।

Example

  • token
  • certificate
  • service account

3️⃣ Authorization check करता है

User को permission है या नहीं।

Example

RBAC
Enter fullscreen mode Exit fullscreen mode

जैसे:

  • pod create allowed
  • secret access allowed

4️⃣ Request validate करता है

Check करता है:

  • yaml सही है या नहीं
  • required fields हैं या नहीं

5️⃣ Data store करता है (etcd में)

अगर request valid है तो:

kube-apiserver → etcd
Enter fullscreen mode Exit fullscreen mode

Example:

pod create
service create
deployment update
Enter fullscreen mode Exit fullscreen mode

सब etcd database में store होते हैं


6️⃣ Cluster components को notify करता है

Example

अगर नया pod create हुआ:

etcd updated
↓
scheduler detect
↓
node assign
↓
kubelet pod run
Enter fullscreen mode Exit fullscreen mode

4️⃣ kube-api-server किन-किन से connect रहता है

1️⃣ kubectl

User command भेजता है

kubectl → kube-apiserver
Enter fullscreen mode Exit fullscreen mode

2️⃣ etcd

Cluster state store करता है

kube-apiserver → etcd
Enter fullscreen mode Exit fullscreen mode

3️⃣ kube-scheduler

New pod को node assign करता है

scheduler → kube-apiserver
Enter fullscreen mode Exit fullscreen mode

4️⃣ controller manager

Controllers status check करते हैं

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

5️⃣ kubelet (node)

Node status update करता है

kubelet → kube-apiserver
Enter fullscreen mode Exit fullscreen mode

6️⃣ kubernetes dashboard / UI / tools

ये भी API server से बात करते हैं।


5️⃣ Real Flow Example (Pod Create)

Command:

kubectl apply -f pod.yaml
Enter fullscreen mode Exit fullscreen mode

Flow:

User
 ↓
kubectl
 ↓
kube-apiserver
 ↓
Authentication + Authorization
 ↓
Validate request
 ↓
Store in etcd
 ↓
Scheduler assign node
 ↓
kubelet create pod
Enter fullscreen mode Exit fullscreen mode

6️⃣ Short Interview Answer ⭐

What is kube-api-server?

kube-api-server Kubernetes control plane का central component है जो Kubernetes cluster के सभी requests को receive करता है, authenticate और authorize करता है, validate करता है और cluster state को etcd में store करता है।


7️⃣ One Line Memory Trick 🧠

👉 AAVA Model

A → Accept request
A → Authenticate
V → Validate
A → Add data in etcd
Enter fullscreen mode Exit fullscreen mode

✅ अगर चाहो तो मैं Kubernetes Architecture को 5 line interview trick में भी समझा सकता हूँ जिससे:

etcd
api-server
scheduler
controller
kubelet
Enter fullscreen mode Exit fullscreen mode

पूरी architecture 2 मिनट में याद हो जाएगी।

Top comments (0)