Wednesday, September 2, 2026

Kubernetes Cluster Architecture

 

A Kubernetes Cluster contains:

┌─────────────────────────────┐

Control Plane         │

└─────────────────────────────┘

|

------------------------------------------

| | |

Worker1 Worker2 Worker3



Control Plane (Master Node)


Brain of Kubernetes.


Responsible for:

Scheduling

Monitoring

Cluster decisions

State management


Cluster 

 ├── Control Plane

 │ ├── API Server 

 │ ├── ETCD

 │ ├── Scheduler

 │ └── Controller Manager

 │

 └── Worker Nodes

    ├── Kubelet

    ├── Kube-Proxy

    └── Container Runtime



Components:


API Server


kubectl --> API Server --> Cluster

Entry point of Kubernetes.

Every request goes through API Server.


Examples:

kubectl get pods

kubectl create deployment nginx



ETCD

Database of Kubernetes.


Stores:

Cluster state

Pod information

Secrets

ConfigMaps

Node info



Example:

Current State: 3 Pods running

Stored inside ETCD.



Scheduler

Decides: Which worker node should run a pod?


Example:

Cluster:

Node1 CPU = 90%

Node2 CPU = 20%


Scheduler chooses:

Pod --> Node2

because Node2 has more resources.



Controller Manager

Monitors desired state versus current state.


Example:

Desired: 3 Pods

Current: 2 Pods

Controller notices mismatch and starts: New Pod TO MAKE IT 3 Pods




== Worker Node Components == 


Worker node is actual responsible for manage and runs your applications.


Kubelet

Agent running on every worker node.


Responsibilities:

Talks with API Server

Creates pods

Health checking



Think:

Manager --> Worker

API Server --> Kubelet



Container Runtime

Responsible for container execution.


Examples:

containerd

CRI-O

Older Kubernetes: Docker



Kube-Proxy

Handles network traffic.


Responsibilities:

Service routing

Load balancing


Example:

User Request 

|

Kube-Proxy

|

------------------

|       |        |

Pod1   Pod2    Pod3


No comments:

Post a Comment

testing