Skip to main content
Account

Kubernetes

Learn Kubernetes with practical tutorials, production patterns, and troubleshooting guides for platform engineers and developers.

Status
stable
Category
Orchestration & Management
Subcategory
Scheduling & Orchestration
License
Apache-2.0

Kubernetes is a container orchestrator with a declarative API. You describe the desired state of your workloads as objects — Pods, Deployments, StatefulSets, Services, Ingresses, ConfigMaps, Secrets, Jobs, CronJobs — and a set of controllers continuously reconciles the cluster toward that state. This controller pattern is the single idea the entire project is built around: every feature, from core workload types to third-party operators, is implemented as a reconciliation loop watching an object in the API.

A cluster has a control plane and a set of nodes. The control plane runs the API server (the only component that talks to storage), etcd (the backing key-value store holding every object), the scheduler (which assigns Pods to nodes based on resource requests, affinities, taints, and topology constraints), and the controller manager (which runs the built-in reconciliation loops for ReplicaSets, endpoints, nodes, service accounts, and so on). Each node runs the kubelet, which takes Pod specs from the API server and drives a container runtime over CRI to actually start containers, and kube-proxy (or eBPF equivalents like Cilium) to implement ClusterIP Services via iptables/IPVS/eBPF. Networking, storage, and container runtime are all pluggable via CNI, CSI, and CRI, which is how the ecosystem ended up with dozens of interchangeable network and storage backends.

Multi-tenancy is handled through namespaces, RBAC, ResourceQuotas, NetworkPolicies, and PodSecurity admission. Extension is handled through CustomResourceDefinitions plus controllers — “the operator pattern” — which is why Kubernetes has become the substrate for things as diverse as databases, CI systems, ML platforms, and service meshes.

It came out of Google’s Borg lineage, was the first project to graduate from the CNCF, and is now the de facto API for running server-side workloads in essentially every cloud and most data centers. Its main competition at this point is itself: the interesting choices are between distributions (EKS, GKE, AKS, OpenShift, k3s, Talos, kubeadm) rather than between Kubernetes and something else.

More Kubernetes videos

Kubernetes learning paths

Recent Kubernetes news

Articles about Kubernetes

A Kubernetes workload sends system calls through a seccomp filter, with permitted calls reaching the kernel and blocked calls stopping at the filter.
Guide 16 min read

Seccomp for Kubernetes workloads: from RuntimeDefault to application profiles

Connected server racks in a glowing cluster network, with one node fractured by red light
Article 1 min read

Klustered Winter 2026 starts 30 October

The live Kubernetes troubleshooting show returns Friday, 30 October.

Tutorial 6 min read

Your Guide to Kubernetes DRA

Diagram showing the evolution from fragmented cgroupsv1 hierarchies to the unified cgroupsv2 tree
Guide 26 min read

cgroups: From Chaos to Control

The kernel subsystem under every container

Stylized illustration showing the Rust crab mascot Ferris interacting with Kubernetes pods and controllers, with flowing lines representing reconciliation loops on a dark gradient background.
Article 7 min read

Building Kubernetes Operators in Rust with kube-rs: Why Your Next Controller Shouldn't Be Written in Go

Why I'm building my next controller in Rust

The Rawkode Academy Technology Matrix
Article 6 min read

Introducing the Technology Matrix

A curated, interactive guide to the Cloud Native ecosystem

Rawkode Academy Newspaper dated August 4th, 2025
News 5 min read

News Digest for August 4th, 2025

A dispatch from the cloud-native world, where the height of innovation is apparently pointlessly reinventing YAML while shaking down the community for container images like a common street mugger

Neon-outline illustration of the Flux logo (diamond with upward arrow) on a dark grid, emitting glowing blue-to-purple streams that flow into a neon Kubernetes wheel inside a hexagon - conveying a dynamic GitOps pipeline from Flux to Kubernetes.
Article 6 min read

FluxCD: Why the GitOps Pioneer Remains Its Future

Beyond initial convenience lies architectural truth.

Stylized illustration representing Kubernetes Kubelet with 1.34 OTEL integration. On the left, the Kubernetes logo appears above the word 'kubelet' in bold white text on a blue-to-green gradient background. On the right, a futuristic isometric design shows interconnected nodes and servers with flowing lines, symbolizing telemetry and observability connections.
News 5 min read

KEP-2831: Kubelet Tracing Finally Brings Node-Level Observability to Kubernetes

GA release brings node-level observability to Kubernetes

Lazyjournal log viewer interface
Article 7 min read

Lazyjournal: A Log Viewer for Cloud Native Environments

Centralized log access for developers and system administrators

Kyverno CEL ValidatingPolicy visualization
Article 4 min read

Kyverno ValidatingPolicy with CEL: Working Examples (2026)

Migrating from ClusterPolicy with side-by-side examples

Multiple semi-transparent layers, each with a different abstract pattern or texture. As the layers stack towards the center, they blend and become more unified, representing the abstraction process.
Article 8 min read

Federated GraphQL for Microservice Architecture

Seamless Data Access Across Service Boundaries Without Compromise

A homemade steampunk Stargate
Article 6 min read

The Rawkode Academy Architecture

Over-Engineering for Fun & Profit

Guide 3 min read

How to ask for help

Learn to ask questions that people want to answer

Tutorial 7 min read

QuestDB on Kubernetes

Tutorial 7 min read

Introduction to WebAssembly on Kubernetes with Krustlet

Scheduling & Orchestration

Email signup loads here. You can also manage email preferences in account settings.