Kubernetes Architecture
Understanding control plane components, node components, and networking
Overview
Kubernetes is a distributed system composed of multiple components working together. This section covers the architecture of a Kubernetes cluster, including the control plane, node components, optional services, and networking model.
Architecture Diagram
┌─────────────────────────────────────────────────────────────────┐
│ Kubernetes Cluster │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Control Plane │ │
│ │ ┌──────────┐ ┌────────────┐ ┌─────────────┐ │ │
│ │ │ API │ │ etcd │ │ Scheduler │ │ │
│ │ │ Server │ │ (Key-Value)│ │ │ │ │
│ │ └──────────┘ └────────────┘ └─────────────┘ │ │
│ │ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ Controller │ │ Cloud │ │ │
│ │ │ Manager │ │ Controller │ │ │
│ │ └──────────────┘ └──────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Worker Nodes │ │
│ │ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐│ │
│ │ │ Node 1 │ │ Node 2 │ │ Node 3 ││ │
│ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ ┌───────────┐ ││ │
│ │ │ │ Kubelet │ │ │ │ Kubelet │ │ │ │ Kubelet │ ││ │
│ │ │ └───────────┘ │ │ └───────────┘ │ │ └───────────┘ ││ │
│ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ ┌───────────┐ ││ │
│ │ │ │kube-proxy│ │ │ │kube-proxy│ │ │ │kube-proxy│ ││ │
│ │ │ └───────────┘ │ │ └───────────┘ │ │ └───────────┘ ││ │
│ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ ┌───────────┐ ││ │
│ │ │ │Container │ │ │ │Container │ │ │ │Container │ ││ │
│ │ │ │ Runtime │ │ │ │ Runtime │ │ │ │ Runtime │ ││ │
│ │ │ └───────────┘ │ │ └───────────┘ │ │ └───────────┘ ││ │
│ │ └───────────────┘ └───────────────┘ └───────────────┘│ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘Study Path
- Control Plane - API Server, etcd, Scheduler, Controller Manager
- Node Components - Kubelet, kube-proxy, Container Runtime
- Optional Services - DNS, Dashboard, Ingress Controller
- Networking Model - Pod networking, Services, Network Policies
Control Plane Components
| Component | Purpose |
|---|---|
| kube-apiserver | Front-end for all API operations |
| etcd | Consistent key-value store for cluster data |
| kube-scheduler | Assigns pods to nodes |
| kube-controller-manager | Runs controller processes |
Node Components
| Component | Purpose |
|---|---|
| kubelet | Agent that runs on each node |
| kube-proxy | Network proxy on each node |
| Container Runtime | Runs containers (Docker, containerd, CRI-O) |
Quick Reference
Check Cluster Components
bash
# Check all control plane pods
kubectl get pods -n kube-system
# Check nodes
kubectl get nodes -o wide
# Check cluster info
kubectl cluster-info
# Check component status
kubectl get componentstatusesCheck Control Plane
bash
# API server
kubectl get pods -n kube-system -l component=kube-apiserver
# Scheduler
kubectl get pods -n kube-system -l component=kube-scheduler
# Controller manager
kubectl get pods -n kube-system -l component=kube-controller-manager
# etcd
kubectl get pods -n kube-system -l component=etcdNext Steps
- Learn Control Plane: Control Plane
- Understand Node Components: Node Components
- Study Networking: Networking Model
Continue Learning:
Return to: Overview | K8s for MLOps