Kubernetes & Cloud Orchestration
Orchestrate microservices with Pods, Deployments, Services, Ingress, ConfigMaps, Secrets, PVCs, and automated rollouts.
Curriculum & Notes
Click any title or "See Notes" to read concepts1Module 1: Cluster Architecture & Setup
7 lessonsLearn what Kubernetes is and what problem it solves, how it differs from Docker and Docker Compose, the core objects to know, and whether you really need it.
Understand Kubernetes architecture: API server, etcd, scheduler, controller manager, kubelet and kube-proxy, and what happens when you run kubectl apply.
Compare ways to install Kubernetes: kind, Minikube, Docker Desktop, k3s, kubeadm and managed clusters, and pick the right one for learning or production.
Install Minikube, run minikube start, enable add-ons like ingress, reach services with minikube tunnel, and build images locally without a registry.
Install kind and run kind create cluster to get a local Kubernetes cluster in Docker. Covers multi-node configs, pinned versions, local images, ingress and CI.
Install kubectl, stay within the supported version skew, connect to a cluster with kubeconfig, enable shell completion and add useful krew plugins.
Learn the kubectl commands you will run daily: get, apply, describe, delete, selectors, output formats, namespaces and tips to work faster with kubeconfig.
2Module 2: Pods, Workloads & Scheduling
11 lessonsInspect cluster resources with kubectl get and describe. Use -o wide, jsonpath and custom-columns, read events, and know when to choose get over describe.
Learn kubectl apply vs create vs replace, preview changes with kubectl diff, use server-side apply, delete resources safely and fix objects stuck deleting.
Debug pods with kubectl logs (including --previous), kubectl exec, port-forward and kubectl cp. Handle distroless images with kubectl debug.
Learn how kubeconfig works, switch clusters with kubectl config use-context, set a default namespace, merge kubeconfig files and avoid the wrong cluster.
Learn what a Kubernetes Pod is, what its containers share, why pod IPs change, how to write one, and how to read the statuses you see when debugging.
Write a Kubernetes Pod manifest with confidence. Walks through apiVersion, metadata, the container spec, ports and securityContext with a full example.
Understand Kubernetes pod phases and container states, restartPolicy, termination and eviction, and why CrashLoopBackOff is a symptom rather than the cause.
Learn when and how to run multiple containers in one Kubernetes Pod: init containers, native sidecars, shared emptyDir volumes, and when to avoid the pattern.
Configure Kubernetes liveness, readiness and startup probes. Learn when to use each, the HTTP, TCP and exec methods, timing fields and common failure modes.
Learn how a Kubernetes Deployment manages ReplicaSets and pods, how to write one, run rolling updates and rollbacks, and when to choose a StatefulSet instead.
Create a Kubernetes Deployment with kubectl create deployment or a YAML manifest. Learn matchLabels, kubectl scale, inspecting objects and common errors.
3Module 3: Services & Networking
9 lessonsRun zero-downtime rolling updates in Kubernetes. Tune maxSurge and maxUnavailable, use readiness probes and graceful shutdown, and fix stalled rollouts.
Roll back a bad release with kubectl rollout undo. Learn revision history, change-cause annotations, revisionHistoryLimit and what a rollback cannot fix.
Learn how a Kubernetes Service finds pods with selectors, how port, targetPort and nodePort differ, how service DNS works, and which of the four types to pick.
Learn how a Kubernetes ClusterIP Service works: virtual IPs, service DNS names, endpoints, testing with port-forward and headless Services.
Learn how a Kubernetes NodePort Service works: the three ports, the 30000-32767 range, externalTrafficPolicy, why it is weak for production and debugging.
Use a Kubernetes LoadBalancer Service, configure cloud annotations, restrict access, set externalTrafficPolicy, and fix an EXTERNAL-IP stuck on pending.
Learn how a Kubernetes Ingress works with an ingress controller, write a working manifest with pathType and TLS, and debug routing problems step by step.
Learn when to use a Kubernetes ConfigMap vs a Secret, how to consume them as env vars or files, why base64 is not encryption, and where real secrets belong.
Create a Kubernetes ConfigMap with kubectl or YAML, use it as env vars with envFrom or as mounted files, and find out why a ConfigMap change did not apply.
4Module 4: Storage, Config & Secrets
7 lessonsCreate Kubernetes Secrets, mount them as env vars or files, use imagePullSecrets and TLS secrets, and learn why base64 is not encryption.
Compare Kubernetes storage options from emptyDir to PersistentVolumes. Learn PVCs, ReadWriteOnce vs ReadWriteMany, reclaim policies and CSI drivers.
Understand Kubernetes PersistentVolumes and PVCs: static vs dynamic provisioning, access modes, reclaim policies, expansion, and why a PVC stays Pending.
Learn how a Kubernetes StorageClass enables dynamic provisioning: key fields, volumeBindingMode, allowVolumeExpansion, the default class and debugging.
Learn how Kubernetes namespaces work, which resources are namespaced, cross-namespace DNS, how to split a cluster, and fix a namespace stuck Terminating.
Learn how Kubernetes manages CPU and memory: requests vs limits, units, what happens at the limit, QoS classes, namespace controls and how to choose values.
Set Kubernetes CPU and memory requests and limits correctly. Learn the units, enforcement, QoS classes, OOMKilled, throttling, LimitRange and ResourceQuota.
5Module 5: Cluster Administration & Helm
6 lessonsSet up the Kubernetes Horizontal Pod Autoscaler: the scaling formula, required resource requests, autoscaling/v2 YAML, behavior and fixing unknown targets.
Learn what Helm is for Kubernetes: charts, releases and repositories, how helm upgrade works, where Helm falls short, and how it compares with Kustomize.
Install Helm, add a repository, read chart values, then run helm install, helm upgrade, helm list and helm uninstall to manage a release on Kubernetes.
Learn how a Helm chart is built: directory structure, Chart.yaml, templates, built-in objects, _helpers.tpl, debugging with helm template and dependencies.
Override Helm values with values.yaml files and --set, understand precedence, upgrade safely with --atomic, use helm rollback and fix a stuck release.
Monitor Kubernetes with metrics-server, kubectl top, Prometheus and kube-state-metrics. Learn what to watch, which alerts matter, and how logs fit in.