DEVOPS

Understanding Kubernetes from First Principles

Skipping the buzzwords and building a practical mental model of what Kubernetes is doing under the hood.

Ankit KumarJan 2, 20269 min read
Kubernetes cluster nodes and container orchestration visualization
Kubernetes continuously reconciles your declared desired state with the actual running state.

Kubernetes can feel complicated because it introduces many objects at once: Pods, Deployments, Services, ReplicaSets, Ingress, ConfigMaps and more. The easiest way to understand it is to start with its central idea: Kubernetes is a system that continuously works to make the actual state of your infrastructure match the desired state you declared.

It is a control loop, not a magic scheduler

At its core, Kubernetes repeatedly compares desired state against actual state. Your manifests describe what should exist, while controllers observe what is currently running and work to reconcile the difference.

For example, if a Deployment requests three replicas and one Pod fails, the controller notices that only two Pods are available and creates another. This is the fundamental pattern behind Kubernetes automation.

Pods are the atomic unit, not containers

A Pod is the smallest deployable object in Kubernetes. It can contain one container or multiple tightly coupled containers that share a network namespace and can share storage volumes.

This design supports patterns such as sidecars, where one container runs the primary application while another handles logging, proxies, secrets or telemetry.

Services solve a real networking problem

Pods are designed to be replaceable. When they restart or are recreated, their IP addresses may change. Applications therefore cannot safely depend on direct Pod IP addresses.

A Service provides a stable network identity and routes traffic to matching Pods through label selectors. Other services can communicate with the Service name instead of tracking changing Pod addresses.

Diagram showing a Kubernetes service routing requests to multiple pods
A Service provides stable access while Pods can scale, restart and receive new IP addresses.

A useful mental model

Think of Kubernetes as an operations platform that takes a declared target state and continuously works to preserve it. You declare application replicas, configuration, networking and resource limits. Controllers do the work of creating, replacing and updating the necessary resources.

Once that model becomes clear, Kubernetes concepts become easier to connect rather than feeling like isolated terminology.

Enjoyed this article?

Get new posts in your inbox.

Occasional writing about software engineering, AI, security, cloud infrastructure, and the projects I build.

No spam. Unsubscribe whenever you want.

Topics

KubernetesDevOpsCloudContainersDocker

Next article

Post-Quantum Cryptography Explained