0
0
Microservicessystem_design~12 mins

Kubernetes basics review in Microservices - Architecture Diagram

Choose your learning style9 modes available
System Overview - Kubernetes basics review

Kubernetes is a system that helps run and manage many small programs called containers. It makes sure these containers work well together, can grow when needed, and recover if something breaks.

Architecture Diagram
User
  |
  v
+----------------+
|  kubectl CLI   |
+----------------+
        |
        v
+----------------+
| Kubernetes API |
|    Server      |
+----------------+
        |
        v
+----------------+       +----------------+       +----------------+
|  Scheduler     |<----->| Controller     |<----->| etcd (Storage) |
| (assign pods)  |       | Manager        |       +----------------+
+----------------+       +----------------+
        |
        v
+----------------+       +----------------+
|  Node (Worker) |<----->| Kubelet Agent  |
|  (runs pods)   |       +----------------+
+----------------+
        |
        v
+----------------+
|  Container(s)  |
+----------------+
Components
User
user
Person who interacts with the Kubernetes cluster
kubectl CLI
client
Command line tool to send requests to Kubernetes API
Kubernetes API Server
api_gateway
Receives and processes all requests to the cluster
Scheduler
service
Decides which node will run each container
Controller Manager
service
Maintains cluster state and manages controllers
etcd
database
Stores all cluster data and configuration
Node (Worker)
compute_node
Physical or virtual machine that runs containers
Kubelet Agent
agent
Runs on each node to manage containers and report status
Container(s)
container
Small programs running inside nodes
Request Flow - 10 Hops
Userkubectl CLI
kubectl CLIKubernetes API Server
Kubernetes API Serveretcd
SchedulerNode (Worker)
Kubernetes API ServerController Manager
Controller ManagerKubelet Agent
Kubelet AgentContainer(s)
Container(s)Kubelet Agent
Kubelet AgentKubernetes API Server
Kubernetes API ServerUser
Failure Scenario
Component Fails:etcd
Impact:Cluster cannot store or retrieve state data, causing scheduling and management failures
Mitigation:Use etcd replication and backups to restore state; cluster continues running with last known state but cannot update
Architecture Quiz - 3 Questions
Test your understanding
Which component decides where containers run in the cluster?
AScheduler
BKubelet Agent
CController Manager
Detcd
Design Principle
Kubernetes architecture separates concerns: API Server handles requests, Scheduler assigns workloads, Controller Manager maintains state, and Kubelet manages containers on nodes. This modular design enables scalability, fault tolerance, and clear responsibility boundaries.