01 / KUBERNETES
Architecture
Kubernetes is a distributed container orchestration platform built around a declarative API and a control-loop architecture. A cluster consists broadly of a control plane and worker nodes, with the API server acting as the primary interface to cluster state. Kubernetes resources describe the desired state of workloads and infrastructure, while controllers continuously work to reconcile the actual state with that desired state. This architecture allows applications to be scheduled, scaled, restarted and managed across a cluster of machines.
02 / KUBERNETES
Control Plane
The Kubernetes control plane maintains the desired and observed state of the cluster and coordinates changes across its resources. Its primary components include the API server, etcd, the scheduler and controller manager, although deployments may distribute or replace components depending on the Kubernetes architecture. etcd provides strongly consistent storage for cluster state, the API server exposes the Kubernetes API, the scheduler selects suitable nodes for unscheduled Pods and controllers continuously reconcile resources toward their desired state.
03 / KUBERNETES
Nodes
Kubernetes nodes provide the compute resources on which workloads execute. A node normally runs a container runtime, the kubelet and networking components such as a CNI implementation. The kubelet communicates with the control plane and ensures that the Pods assigned to the node are running according to their specifications. Nodes can be physical machines or virtual machines and may be grouped using labels, taints and other scheduling attributes to control which workloads are permitted or preferred to run on them.
04 / KUBERNETES
Networking
Kubernetes networking provides connectivity between Pods, Services, nodes and external clients. Each Pod normally receives its own IP address, allowing Pods to communicate without requiring traditional host-level NAT between them. Services provide stable virtual endpoints for groups of Pods, while Ingress and Gateway-based mechanisms can expose HTTP and other application traffic externally. The Container Network Interface (CNI) defines how pod networking is implemented, with solutions such as Cilium, Calico and other plugins providing routing, load balancing, network policy and additional networking capabilities.
05 / KUBERNETES
Storage
Kubernetes separates application storage requirements from the underlying storage implementation through abstractions such as PersistentVolumes (PVs), PersistentVolumeClaims (PVCs) and StorageClasses. A PVC expresses a workload's storage requirement, while a StorageClass can dynamically provision suitable storage through a CSI driver. This allows applications to request persistent storage without needing to know whether the underlying capacity is provided by local disks, cloud block storage, distributed storage or another backend. CSI provides the standard interface through which external storage systems integrate with Kubernetes.
06 / KUBERNETES
Scheduling
The Kubernetes scheduler determines which nodes should run newly created Pods. It evaluates constraints and preferences such as resource requests, node affinity, taints and tolerations, topology requirements and scheduling policies before selecting a suitable node. Resource requests are particularly important because they allow the scheduler to reason about available CPU and memory capacity. Scheduling therefore acts as the bridge between the declarative workload definition and the physical or virtual compute resources available within the cluster.
07 / KUBERNETES
Controllers
Kubernetes controllers are control loops that monitor cluster resources and work to reconcile their current state with the desired state declared through the Kubernetes API. Controllers manage resources such as Deployments, ReplicaSets, StatefulSets, Jobs and Nodes, creating or modifying dependent resources when necessary. This reconciliation model means Kubernetes does not simply execute a sequence of deployment commands; instead, it continuously observes the cluster and takes corrective action when the actual state differs from the requested state.
08 / KUBERNETES
Operators
Kubernetes Operators extend the platform's control-loop model to manage complex applications and infrastructure. An Operator typically introduces one or more Custom Resource Definitions (CRDs) that represent application-specific desired state and a controller that reconciles those resources. Operators can automate operational tasks such as installation, configuration, upgrades, backups, failover and recovery for systems that would otherwise require significant manual administration. This pattern allows domain-specific operational knowledge to be encoded directly into Kubernetes automation.