☸️
Active Module Path

Kubernetes

From the reconciliation loop to production operations β€” workloads, scheduling, the pod network, RBAC, autoscaling, upgrades and etcd. Pinned to Kubernetes 1.36.

Stage 1 β€” Fundamentals

6 lessons
Lesson 1 β€’ ⏱️ 18m
Why Orchestration Exists & the Reconciliation Loop

The single idea the whole system is built on: you declare a desired state, and controllers loop forever making reality match. Everything else in Kubernetes is a consequence of this.

βœ“
Lesson 2 β€’ ⏱️ 19m
Cluster Anatomy: Control Plane & Node Components

Every process that makes a cluster work, what breaks when each one dies, and why the API server being the only writer to etcd is the most important design decision in the system.

βœ“
Lesson 3 β€’ ⏱️ 18m
The API Object Model & kubectl

What actually happens between typing kubectl apply and a container starting, why apply differs from create, and how to read any object in the cluster without memorising its schema.

βœ“
Lesson 4 β€’ ⏱️ 19m
Pods: The Atomic Unit

Why the smallest deployable thing is a group of containers rather than one, what they actually share, and how to read every phase and waiting reason a pod can get stuck in.

βœ“
Lesson 5 β€’ ⏱️ 16m
Labels, Selectors & Namespaces

The loose coupling that holds the whole system together: how objects find each other without ever naming each other, and the selector mistakes that silently orphan workloads.

βœ“
Lesson 6 β€’ ⏱️ 19m
Services & Cluster DNS

How a stable name reaches a shifting set of pod IPs, what every Service type actually provisions, and why 'no endpoints' is nearly always one of two problems.

βœ“

Stage 2 β€” Workloads & Configuration

6 lessons
Lesson 7 β€’ ⏱️ 19m
Deployments, ReplicaSets & Rollout Mechanics

What actually happens during a rolling update, why maxSurge and maxUnavailable decide your blast radius, and the three reasons a rollout stalls forever.

βœ“
Lesson 8 β€’ ⏱️ 19m
StatefulSets, DaemonSets, Jobs & CronJobs

The four controllers beyond Deployment: when stable identity is worth the operational cost, why a DaemonSet ignores the scheduler, and the CronJob settings that quietly pile up work.

βœ“
Lesson 9 β€’ ⏱️ 18m
ConfigMaps, Secrets & the Configuration Boundary

How configuration reaches a container, why a mounted ConfigMap updates but an env var never does, and why Secrets are not encrypted unless you make them so.

βœ“
Lesson 10 β€’ ⏱️ 18m
Probes: Liveness, Readiness & Startup

Three probes with three different consequences, why a liveness probe is the most dangerous thing in a pod spec, and how a misconfigured probe takes down a healthy service.

βœ“
Lesson 11 β€’ ⏱️ 17m
Init Containers & Native Sidecars

Ordered setup before your app starts, and the 1.33 change that finally fixed sidecars β€” why a Job with an Istio proxy used to hang forever, and what replaced the workarounds.

βœ“
Lesson 12 β€’ ⏱️ 20m
Requests, Limits, QoS & CPU Throttling

Why requests and limits do completely different things, how QoS class decides who dies first, and the CPU throttling that destroys latency while every memory metric looks fine.

βœ“

Stage 3 β€” Storage

1 lesson
Lesson 13 β€’ ⏱️ 19m
Storage: Volumes, PVs, PVCs & CSI

The abstraction from a pod's mount path down to a real disk, why access modes are not what most people assume, and the multi-zone scheduling deadlock that leaves a pod Pending forever.

βœ“

Stage 4 β€” Scheduling & Scaling

2 lessons
Lesson 14 β€’ ⏱️ 19m
Scheduling: Affinity, Taints & Topology Spread

How the scheduler actually picks a node, the difference between a preference and a requirement, and why anti-affinity that looks correct still puts every replica in one zone.

βœ“
Lesson 15 β€’ ⏱️ 19m
Autoscaling: HPA, VPA, Cluster Autoscaler & Karpenter

Three axes of scaling that operate on different things and interact badly if you let them, plus the reason your HPA does nothing at all.

βœ“

Stage 5 β€” Networking

3 lessons
Lesson 16 β€’ ⏱️ 21m
The Pod Network: CNI, kube-proxy & conntrack

Follow one packet from client pod to server pod, name every hop that can drop it, and understand the two silent killers β€” conntrack exhaustion and MTU mismatch.

βœ“
Lesson 17 β€’ ⏱️ 19m
Ingress & the Gateway API

One entry point for many Services, why Ingress stalled as a spec, and how Gateway API's role-oriented model replaces annotation soup β€” with a migration path that does not require a flag day.

βœ“
Lesson 18 β€’ ⏱️ 18m
NetworkPolicy: Segmenting a Flat Network

Why every pod can reach every other pod by default, how policies compose additively, and the two mistakes that make a policy either useless or an outage.

βœ“

Stage 6 β€” Security

3 lessons
Lesson 19 β€’ ⏱️ 18m
RBAC & ServiceAccounts

Who may do what to which resources, why RBAC is purely additive, and how to debug a permission error in one command instead of guessing at YAML.

βœ“
Lesson 20 β€’ ⏱️ 19m
Pod Security Admission & Workload Hardening

PodSecurityPolicy is gone. What replaced it, what the three built-in standards actually enforce, and how to harden a pod spec so a container compromise stays inside the container.

βœ“
Lesson 21 β€’ ⏱️ 60m
Project 1: Ship a Production-Ready Workload

Take an app from a bare Deployment to something that survives a node drain, a bad deploy, a slow dependency and a hostile pod β€” verified by breaking each one deliberately.

βœ“

Stage 7 β€” Operations & Production

8 lessons
Lesson 22 β€’ ⏱️ 19m
Helm, Kustomize & GitOps

Two ways to stop copy-pasting YAML across environments, why they solve different problems, and the deployment model that makes the cluster match a Git repository rather than whoever ran kubectl last.

βœ“
Lesson 23 β€’ ⏱️ 19m
Observability: Metrics, Logs, Events & Traces

Four signals with four different jobs, the metrics that actually predict incidents, and why events disappear an hour after the thing you needed to investigate.

βœ“
Lesson 24 β€’ ⏱️ 20m
Cluster Upgrades, PDBs & Node Drain

How to replace every node in a cluster without dropping traffic, why your drain hangs forever, and the API deprecation that breaks a controller three versions later.

βœ“
Lesson 25 β€’ ⏱️ 19m
etcd Operations, Backup & Disaster Recovery

The one component whose loss is unrecoverable: how to snapshot it, how to restore it, and why its disk latency decides whether your whole cluster feels healthy.

βœ“
Lesson 26 β€’ ⏱️ 18m
Multi-Tenancy, Quotas & Cost Control

Sharing a cluster safely: what namespace isolation does and does not buy you, the quota interaction that breaks every deployment in a namespace, and where the money actually goes.

βœ“
Lesson 27 β€’ ⏱️ 18m
Capacity Planning & Production Readiness

Sizing a cluster from real numbers rather than guesses, the limits you will hit before CPU, and a checklist that separates a workload that survives a bad Tuesday from one that does not.

βœ“
Lesson 28 β€’ ⏱️ 20m
The Production Debugging Playbook

A fixed sequence for the six failures you will actually meet, ordered so each command eliminates a layer β€” and the triage that works when you do not yet know what is wrong.

βœ“
Lesson 29 β€’ ⏱️ 75m
Project 3: Zero-Downtime Cluster Upgrade

Plan and execute a full minor-version upgrade with a written runbook, a pre-flight that catches removed APIs, node-by-node draining and a tested rollback β€” measured by requests dropped.

βœ“

Stage 8 β€” Extending Kubernetes

3 lessons
Lesson 30 β€’ ⏱️ 20m
Admission Control, CRDs & Operators

How to extend Kubernetes itself: intercept every write, define your own resource types, and write the controller that reconciles them β€” plus the webhook mistake that can lock a cluster.

βœ“
Lesson 31 β€’ ⏱️ 70m
Project 2: Build a CRD & Controller

Extend Kubernetes with your own resource type and the reconciliation loop behind it β€” including the finalizer, the status conditions and the idempotence that separate an operator from a script.

βœ“
Lesson 32 β€’ ⏱️ 80m
Project 4 (Capstone): Cross-Stack Incident Forensics

Build the tool that answers 'what happened' across every layer at once β€” objects, events, metrics, logs and node state β€” correlated into one timeline you can paste into a postmortem.

βœ“

πŸ—ΊοΈ Beginner β†’ Expert Roadmap

8 stages with prerequisites and a concrete mastery check at each.

🎯 What You'll Learn

  • β€’ Explain every Kubernetes behaviour as a reconciliation loop rather than a command.
  • β€’ Trace a kubectl apply through admission, etcd, the controller and the scheduler to a running container.
  • β€’ Diagnose a Pending pod, a CrashLoopBackOff and a Service with no endpoints without guessing.
  • β€’ Size requests and limits deliberately, and recognise CPU throttling that never appears as an OOMKill.
  • β€’ Follow a packet from client pod to server pod and name every hop that can drop it.
  • β€’ Write RBAC and Pod Security Admission that is least-privilege rather than cargo-culted.
  • β€’ Choose between HPA, VPA, Cluster Autoscaler and Karpenter on their real trade-offs.
  • β€’ Upgrade a cluster without a PDB blocking the drain, and restore etcd from a snapshot.
  • β€’ Build a CRD and controller, and know when an operator is the wrong answer.
  • β€’ Ship four production projects: a hardened workload, an operator, an upgrade runbook and an incident forensics capstone.