Interactive lab scenarios for KubeDojo — powered by Killercoda.
kubedojo-labs/
├── prerequisites/
│ ├── zero-to-terminal/ # Ubuntu labs for absolute beginners
│ └── kubernetes-basics/ # K8s cluster labs for K8s fundamentals
├── linux/
│ ├── everyday-use/ # CLI, processes, services
│ ├── system-essentials/ # Kernel, systemd, filesystem
│ └── networking/ # TCP/IP, DNS, iptables
├── k8s/
│ └── cka/
│ ├── part0/ # Environment & exam prep
│ ├── part1/ # Cluster architecture
│ ├── part2/ # Workloads & scheduling
│ ├── part3/ # Services & networking
│ ├── part4/ # Storage
│ └── part5/ # Troubleshooting
└── templates/
├── ubuntu-base/ # Base template for Linux labs
└── k8s-base/ # Base template for K8s labs
Each lab is a directory containing:
lab-name/
├── index.json # Metadata: title, environment, steps
├── intro.md # Context + objectives
├── setup.sh # Seeds environment before user starts
├── step1/
│ ├── text.md # Instructions
│ └── verify.sh # Validation (exit 0 = pass, exit 1 = fail)
├── step2/
│ ├── text.md
│ └── verify.sh
└── finish.md # Congratulations + next lab link
| Type | Killercoda Image | Use Case |
|---|---|---|
| Ubuntu | ubuntu |
Linux basics, shell, networking |
| Kubernetes | kubernetes-kubeadm-1node |
K8s labs (single control plane + worker) |
- 3-6 steps per lab — focused, completable within time limit
- Each step = one concept — don't overload
- verify.sh must be deterministic — check exact state, not output format
- setup.sh must be idempotent — safe to run multiple times
- No copy-paste answers — steps require understanding
- Hints in collapsible sections:
<details> <summary>Hint</summary> Try `kubectl get pods -n production` </details>
| Level | Steps | Hints | Guidance |
|---|---|---|---|
| Beginner | 3-4 | Generous, near-complete commands | High |
| Intermediate | 4-5 | Concept hints, not commands | Medium |
| Advanced | 5-6 | Minimal, doc references only | Low |
- KubeDojo Site: https://kube-dojo.github.io/
- Killercoda Creators: https://killercoda.com/creators
- Project Plan: See
docs/labs-project-plan.mdin the main repo