Phase 1 — Foundation (Days 1–30)
Week 1-2: Linux & Shell Scripting
Goal: Be comfortable navigating, automating, and troubleshooting Linux systems from the command line.
Topics:
- Filesystem hierarchy:
/etc,/var,/proc,/sys,/tmp - File permissions, ownership, ACLs (
chmod,chown,setfacl) - Process management:
ps,top,htop,kill,systemctl,journalctl - Networking basics:
ip,ss,netstat,curl,wget,dig,nslookup,traceroute - Package management:
apt/yum/dnf - Users, groups, sudo, SSH key management
- Cron jobs and scheduling
- Bash scripting: variables, loops, conditionals, functions, error handling (
set -euo pipefail) - Text processing:
grep,awk,sed,cut,sort,uniq,jq - Log files:
tail -f,greppatterns,/var/log/syslog,journalctl -u
Hands-on Labs:
- Write a Bash script that monitors disk usage and emails/Slacks an alert above 80%
- Write a log-rotation script using
logrotateconfig - Automate SSH key distribution to 3 VMs using a Bash loop
- Parse a sample application log file with
awk/jqto extract error rates
Resources:
manpages andtldrCLI tool (install it)- Linux Command Line by William Shotts (free online)
overthewire.org/wargames/bandit— gamified Linux practice
Week 3: Docker Hands-On
Goal: Build, run, debug, and publish container images confidently.
Topics:
- Container vs VM mental model
- Docker architecture: daemon, client, image layers, registry
- Dockerfile best practices: layer caching, multi-stage builds,
.dockerignore, non-root users docker build,docker run,docker exec,docker logs,docker inspect- Volumes and bind mounts
- Networking: bridge, host, overlay, port mapping
- Docker Compose: multi-service local stacks
- Image scanning:
docker scout/trivy - Registry: Docker Hub, ECR, GCR, Artifact Registry
Hands-on Labs:
- Containerize a Node.js or Python Flask app with a multi-stage Dockerfile
- Build a Docker Compose stack: app + Postgres + Redis
- Scan the image with
trivy; fix at least one HIGH vulnerability - Push to a private ECR or GCR registry
- Use
docker statsanddocker topto observe resource usage live
Resources:
- Docker official docs (docs.docker.com)
- Docker Deep Dive by Nigel Poulton (short, practical)
Week 4: Kubernetes Fundamentals
Goal: Deploy and manage workloads on a local Kubernetes cluster.
Topics:
- K8s architecture: control plane (API server, etcd, scheduler, controller-manager), nodes, kubelet, kube-proxy
- Core objects: Pod, ReplicaSet, Deployment, Service (ClusterIP/NodePort/LoadBalancer), ConfigMap, Secret, Namespace
kubectlessentials:get,describe,apply,delete,exec,logs,port-forward,rollout- YAML manifest authoring
- Labels, selectors, annotations
- Resource requests and limits
- Liveness and readiness probes
kubectl explain— your best friend
Hands-on Labs:
- Stand up a local cluster with
kindorminikube - Deploy the sample app (from Week 3) as a Deployment + Service
- Scale replicas up/down; observe pod scheduling
- Trigger a rolling update; observe rollout status
- Deliberately break a probe; watch pod restart behavior
Resources:
- Kubernetes in Action by Marko Luksa (the K8s bible for practitioners)
- killer.sh / killercoda.com — browser-based K8s labs