The problem with learning Kubernetes
Most Kubernetes learning paths share the same issue: they are either too abstract or too expensive.
You read the docs. You understand the concepts. But concepts without hands-on practice do not build the instincts you need when something breaks in production at 2am.
The alternative — spinning up a real cluster on EKS, GKE, or AKS — costs money, needs cloud credentials, and adds infrastructure overhead before you have written your first manifest.
Local tools like Minikube or kind get you closer, but they still require local installation, configuration, and troubleshooting before you practice Kubernetes itself.
Enter KubeKosh
KubeKosh is a self-hosted Kubernetes lab that runs a real k3s cluster inside a single Docker container. It pairs that cluster with a browser-based terminal and automated scenario validation — so you practice real kubectl commands against a real cluster, immediately, with feedback on whether you completed the task correctly.
No cloud account. No complex setup. One Docker command.
What makes KubeKosh different
Many playgrounds give you a pre-configured environment and let you poke around. KubeKosh adds structured scenarios with automated validation — it checks whether you actually completed the task, not only whether you ran a command.
That is the difference between reading sheet music and playing the piano. The feedback loop builds muscle memory.
Once you are comfortable with verbs and order, the kubectl essentials post on this site matches the mental model KubeKosh reinforces. Tools like kubectx and kubens and k9s come later — after the basics stick.
Installation and quick start
Prerequisites: Docker installed and running. That is it.
git clone https://github.com/zeborg/kubekosh.git
cd kubekosh
docker compose up
Open your browser at http://localhost:3000.
You will see:
- A browser-based terminal connected to a live k3s cluster
- A list of scenarios to work through
- Automated validation for each scenario
No kubectl installation required on your machine — everything runs inside the container.
What you can practice
KubeKosh covers core kubectl workflows that matter in real environments:
Pod management — creating and inspecting Pods, logs and exec, lifecycle and restart policies.
Deployments and scaling — creating Deployments, scaling up and down, rollouts and rollbacks.
Services and networking — exposing apps with Services, ClusterIP vs NodePort vs LoadBalancer, connecting Pods to Services.
Configuration — ConfigMaps and Secrets, environment variables, volume mounts.
Debugging — CrashLoopBackOff, resource limits and OOMKilled Pods, events and describe output.
Who is this for?
Engineers returning to Kubernetes after a break. The concepts are still there. The muscle memory is not. KubeKosh rebuilds instincts quickly — real commands, real feedback, low overhead.
Developers new to Kubernetes. Skip cloud setup and practice immediately.
Teams preparing for CKA/CKAD. The exam is hands-on. KubeKosh builds the kind of speed and instinct the exam rewards.
Anyone who learns by doing. Reading about kubectl rollout undo is not the same as running it and watching what happens.
The honest take
KubeKosh is not a production cluster simulator. It runs k3s — a lightweight distribution — inside Docker. Some advanced topics (multi-node failures, node-level debugging, certain network policies) are outside its scope.
What it is: a fast, low-friction path to real kubectl practice. For foundational muscle memory that everything else builds on, it is hard to beat.
Summary
| Install | git clone + docker compose up |
| Requirements | Docker only |
| Best for | Hands-on practice, certification prep, returning engineers |
| Cluster | Real k3s inside Docker |
| Killer feature | Automated scenario validation with instant feedback |
| GitHub | github.com/zeborg/kubekosh |
You may already know how Kubernetes works. KubeKosh helps your hands remember too.