ROOT // SYSTEMS
/ ROOT // SYSTEMS / KUBERNETES

KUBERNETES

The operating system for distributed systems.

root@systems:~$ ls
./Architecture
./Control Plane
./Nodes
./Networking
./Storage
./Scheduling
./Controllers
./Operators
./Helm
./GitOps
./Observability
INITIAL INDEX
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.