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.