03 - Kubernetes

This track teaches Kubernetes on a local cluster (kind or minikube, running on top of the Docker Desktop / WSL2 setup you already have from track 2). Nothing here talks to Azure or costs a cent — the goal is to build a solid, correct mental model and real muscle memory with kubectl before you touch a managed cloud cluster.

How this track works

  • It assumes you finished 02-docker: you're comfortable with images, containers, Dockerfiles, docker-compose, and pushing images to a registry (including Azure Container Registry).
  • Every module builds only on concepts from earlier modules in this track plus the Docker knowledge you already have — no forward references.
  • Each module README has the same shape: why it matters, concepts (with concrete analogies), a command reference table, hands-on exercises (do these, don't just read them), common mistakes, and a checkpoint quiz.
  • Go in order. Kubernetes' object model is layered — Deployments sit on ReplicaSets sit on Pods, Services depend on label selectors, Ingress depends on Services — and each module assumes the ones before it.
  • All exercises run against a local kind or minikube cluster in your WSL2 Ubuntu terminal. No Azure subscription is needed for this track.

Modules

# Module What you'll be able to do Time
00 Setup: local cluster (kind/minikube) Install kubectl and stand up a local Kubernetes cluster with kind 45-60 min
01 Kubernetes architecture and concepts Explain control plane vs. nodes, the API server, etcd, kubelet, and the declarative/reconciliation model 45-60 min
02 Pods and workloads Write and debug Pod manifests, understand containers-in-a-pod, probes, and restarts 60-90 min
03 Deployments and ReplicaSets Run self-healing, rolling-updateable workloads with Deployments 60-90 min
04 Services and networking Expose Pods with ClusterIP/NodePort/LoadBalancer Services and understand cluster DNS 60-90 min
05 ConfigMaps and Secrets Externalize configuration and sensitive values from container images 45-60 min
06 Storage: PV and PVC Give Pods durable storage with PersistentVolumes, PersistentVolumeClaims, and StorageClasses 45-60 min
07 Helm package manager Template, package, and release Kubernetes manifests as reusable Helm charts 60-90 min
08 Ingress controllers Route HTTP(S) traffic to multiple Services through a single entry point 45-75 min
09 Scaling: HPA and VPA Autoscale workloads horizontally and vertically based on metrics 45-60 min
10 Observability: logging and metrics Read logs and metrics cluster-wide and reason about resource usage 45-60 min
11 Security: RBAC and network policies Restrict who can do what (RBAC) and which Pods can talk to which (NetworkPolicy) 60-90 min
12 Capstone project Design, deploy, and package a full multi-component app as a Helm chart 3-5 hrs

Start here → 00-setup-local-cluster-kind-minikube/README.md

Back to main curriculum: ../README.md


Once you've completed this track, the next one is 04-networking-fundamentals — a detour through general and Azure networking, then Azure Container Apps, before 07-aks finally takes the exact same objects and Helm charts you built here and runs them on a real, managed Kubernetes cluster in Azure.