Exercise Ladder Integration Map¶
How the break/fix exercises align with the rest of the training system. Use this to know which exercises to do before or after a lab, runbook, or interview scenario.
Exercise Tracks¶
| Track | Levels 1-10 | Levels 11-20 | Levels 21-30 | Levels 31-40 | Levels 41-50 |
|---|---|---|---|---|---|
| Bash | Exit codes, permissions, variables, quoting, conditionals | Functions, arrays, loops, regex, pipes | Subshells, traps, awk, sed, jq | Process mgmt, signals, cron, networking | Automation scripts |
| Python | Syntax, indentation, variables, strings, types | Functions, modules, exceptions, files, OOP | Decorators, generators, context mgrs | Testing, async, subprocess, API clients | DevOps tooling |
| Docker | FROM, RUN, COPY, WORKDIR, CMD | ENTRYPOINT, ENV, ARG, multi-stage, volumes | Compose, healthcheck, networking | Security, scanning, optimization | Production patterns |
| Ansible | Inventory, ping, ad-hoc, YAML syntax, hosts | Modules, handlers, variables, templates | Roles, conditionals, loops, vault | Galaxy, facts, dynamic inventory | Complex playbooks |
| K8s | Pods, deployments, imagepull, pending, labels | Ports, selectors, readiness, liveness, resources | Services, endpoints, HPA, DNS, ingress | NetworkPolicy, configmaps, secrets, PV/PVC | RBAC, security, chaos |
Lab to Exercise Mapping¶
| Lab | Topics | Recommended exercises |
|---|---|---|
| Ansible Lab: Ping and Debug | ansible | Exercise levels covering ansible |
| Ansible Lab: Facts and Variables | ansible | Exercise levels covering ansible |
| Ansible Lab: Install Nginx (Idempotency) | ansible | Exercise levels covering ansible |
| Ansible Lab: Templates and Handlers | ansible, ansible_deep_dive | Exercise levels covering ansible, ansible_deep_dive |
| Ansible Lab: Roles | ansible, ansible_deep_dive | Exercise levels covering ansible, ansible_deep_dive |
| Ansible Lab: Conditionals and Loops | ansible | Exercise levels covering ansible |
| Ansible Lab: Vault (Secrets Management) | ansible, ansible_deep_dive | Exercise levels covering ansible, ansible_deep_dive |
| Lab: Readiness Probe Failure (CLI) | probes, k8s_core | level-12/k8s-liveness, level-13/k8s-readiness |
| Lab: HPA Live Scaling (CLI) | hpa, k8s_core | level-14/k8s-hpa, level-15/k8s-resource-quotas |
| Lab: Prometheus Target Down (CLI) | prometheus, grafana | level-12/k8s-services, level-13/k8s-endpoints |
| Lab: Loki No Logs (CLI) | loki | level-16/k8s-daemonsets, level-17/k8s-configmaps |
| Lab: Helm Upgrade Rollback (CLI) | helm | Study devops/helm/grokdevops/ templates |
| Lab: Trivy Scan Remediation (CLI) | security_scanning, docker | level-08/docker-security, level-09/docker-multi-stage |
| Lab: GitOps Sync and Drift (CLI) | gitops | level-18/k8s-rollout-strategy, level-19/k8s-rollout-history |
| Lab: Resource Limits OOMKilled (CLI) | oom, k8s_core | level-04/k8s-pending, level-10/k8s-resources |
If You Struggle with Topic Z, Do These Exercises First¶
| Struggling with | Root skill needed | Recommended exercises |
|---|---|---|
| YAML syntax errors | YAML fundamentals | level-04/ansible-yaml-syntax, level-01/k8s-pods |
| kubectl commands | Bash + K8s basics | Bash levels 01-05, K8s levels 01-03 |
| Dockerfile issues | Docker layering | Docker levels 01-05 (FROM, RUN, COPY, WORKDIR, CMD) |
| Service routing | K8s networking | K8s levels 06-08 (ports, services, selectors) |
| Probe configuration | K8s pod lifecycle | K8s levels 08-09 (readiness, liveness) |
| Helm values | Template rendering | Study devops/helm/grokdevops/templates/ |
| DNS issues | K8s DNS | K8s level-23 (dns), level-11 (services) |
| RBAC | K8s authorization | K8s level-41 (rbac-permission) |
| Network policies | K8s networking | K8s level-25 (networkpolicy) |
| Storage issues | K8s volumes | K8s levels 31-35 (PV, PVC, StorageClass) |