DEV Community

Cover image for Kubernetes Is Not a Container Platform (And That Changes Everything)
Manuchim Oliver
Manuchim Oliver

Posted on

Kubernetes Is Not a Container Platform (And That Changes Everything)

Most people learn Kubernetes backwards.
We start with:

  • Pods
  • Deployments
  • Helm charts
  • Copy-pasting YAML

But Kubernetes was never designed to be “a container orchestrator”.

It was designed as:

An extensible, declarative API backed by control loops.

The Core Idea

Kubernetes works like this:

  • You declare desired state (YAML / JSON)
  • The API server stores it
  • Controllers continuously reconcile reality to match it
  • Nothing “runs” just because YAML exists.
  • Controllers do the work.

Why CRDs Exist

Kubernetes only knows built-in types:
Pods, Services, Nodes, etc.

CRDs let you say:
“Here is a new type of thing Kubernetes should understand.”

Example:

kind: Backup
Enter fullscreen mode Exit fullscreen mode

But CRDs alone do nothing.

They’re nouns.

Why Operators Exist

Operators are controllers that understand your CRDs.

They turn:

kind: Backup
Enter fullscreen mode Exit fullscreen mode

into:

  • Jobs
  • Snapshots
  • S3 uploads
  • Retention logic

They are verbs.

Why Helm Isn’t Special

Helm doesn’t “deploy apps”.

It:

  • Renders templates
  • Outputs YAML
  • Sends it to the Kubernetes API

That’s it.

The intelligence lives inside controllers, not tools.

The Mental Model That Changed Everything for Me

Kubernetes is:

  • An API
  • A database (etcd)
  • A set of controllers

Containers are just one workload type.

Once I understood this:

Operators stopped feeling scary

Kubernetes felt simple (not easy — simple)

And once you see it this way, you stop fighting YAML and start designing operators, CI/CD flows, and observability that actually work at scale.

Top comments (0)