Kubernetes Architecture
Kubernetes is composed of two primary component groups:| Component Group | Key Components | Responsibility |
|---|---|---|
| Control Plane | - API Server (kube-apiserver) - etcd - Controller Manager (kube-controller-manager) - Scheduler (kube-scheduler) | Orchestrates cluster state and schedules workloads. |
| Node (Agent) Plane | - kubelet - kube-proxy - Container Runtime (e.g., containerd, Docker) - Host Compute & Networking Services (Windows) | Runs Pods and manages networking on each worker node. |
Control Plane Components
-
API Server (kube-apiserver)
Exposes the Kubernetes REST API; processeskubectland other client requests. -
etcd
A distributed key-value store holding all cluster state, configuration, and metadata. -
Controller Manager (kube-controller-manager)
Runs controllers for replication, node lifecycle, health checks, and more. -
Scheduler (kube-scheduler)
Assigns new Pods to nodes based on resource requirements, affinity, and taints/tolerations.
Node (Agent) Components
-
kubelet
Watches the API server for PodSpecs and ensures containers described in those specs are running. -
kube-proxy
Implements Service abstraction by programming network rules and load-balancing traffic to Pods. -
Container Runtime
The software responsible for pulling images and running containers. On Windows, the CRI integrates with Host Compute Service (HCS) and Host Networking Service (HNS).
In Azure Kubernetes Service (AKS), Azure manages the entire control plane for you. You only need to provision and maintain the worker nodes (agents), streamlining cluster operations.
Component Interaction: Creating a Deployment
When you run a command like:-
kubectl → API Server
Sends the Deployment manifest via the Kubernetes API. -
API Server → etcd
Validates and persists the Deployment object. -
Deployment Controller
Detects the new Deployment and creates a ReplicaSet. -
ReplicaSet Controller
Observes the ReplicaSet and launches the desired number of Pods. -
Scheduler
Assigns each unscheduled Pod to an appropriate node. -
kubelet
Retrieves PodSpecs, then invokes the Container Runtime Interface (CRI) to start containers and the Container Network Interface (CNI) to configure networking. -
Container Runtime → Host Services (Windows-specific)
- Calls HCS to instantiate the container.
- Calls HNS to establish network endpoints.
-
kube-proxy
Monitors new Services and Endpoints, programming load-balancing and network rules so traffic reaches the correct Pods.

Next Steps
With a solid grasp of Kubernetes core components and their interplay, you’re ready to:- Deploy a Kubernetes cluster in Azure using AKS
- Explore workload objects (Deployments, StatefulSets, DaemonSets)
- Configure Services, Ingress, and network policies
- Implement scaling, self-healing, and rollouts