Frontend Labs
⋯

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, grep patterns, /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 logrotate config
  • Automate SSH key distribution to 3 VMs using a Bash loop
  • Parse a sample application log file with awk/jq to extract error rates

Resources:

  • man pages and tldr CLI 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 stats and docker top to 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
  • kubectl essentials: 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 kind or minikube
  • 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

Generated from k8s-docker-plan.md · 8 Oct 2026 16:36