Prefer to Run K16S Yourself?
K16S also exists as a free, open source project. You can install it on your own laptop, your own VM, or a cheap VPS. No account, no payment, no time limit. You keep full control of the cluster, and your practice data never leaves your own machine.
Why people choose to self-host it
- It's free forever, with no 14-day window and no limit on how many mock exams you run.
- Your progress and terminal history stay on your own hardware.
- You get full root access to the cluster, which is useful if you like to poke around and break things on purpose.
- It's a good fit if you already have a spare VPS, or you just enjoy setting things up yourself.
A real kubeadm cluster, not a shortcut
Most free Kubernetes practice labs run kind or a lightweight k3s cluster. Both cut corners that matter for exam prep. kind runs every node as a
container inside one Docker daemon, so there is no real node separation, no systemctl,
no kubelet config files to inspect, and no crictl. k3s skips many kubeadm workflows
entirely, including cluster init, etcd backup, and certificate management.
K16S runs a real kubeadm-provisioned cluster instead. Worker nodes are Incus LXC containers, each with its own init system, systemd, containerd, and kubelet. That is much closer to what you will actually sit in front of on exam day.
| Feature | kind / k3d | K16S |
|---|---|---|
| Real kubeadm cluster | No | Yes |
systemctl on worker nodes | No | Yes |
| Worker kubelet config files | No | Yes |
| etcd backup and restore | Limited | Yes |
| Static pod manifests | Limited | Yes |
crictl debugging | No | Yes |
| Per-question setup and grading | No | Yes |
What you get
CKA: two full mock exams, 18 questions each, built around the official 2026 CKA curriculum. Covers troubleshooting, cluster architecture, networking, workloads, and storage.
CKS: three full mock exams, 18 questions each, built around the official 2026 CKS curriculum. Covers NetworkPolicy, AppArmor, seccomp, CIS benchmarking with kube-bench, API server and kubelet hardening, and PKI.
Every question ships with an automatic setup script and an automatic grading script, so you get a specific pass or fail reason instead of guessing whether you got it right.
Three ways to run it
On your laptop, no VPS needed
One command boots a small, disposable virtual machine with Lima and installs the exact same cluster inside it. Your laptop's own operating system is never touched.
git clone https://github.com/immanuwell/k16s-exam-simulator.git
cd k16s-exam-simulator
bash install.sh --laptop 16 GB of RAM is recommended, since the VM itself uses about 8 GB.
Lightweight, no virtual machine at all
For lower-resource machines. This runs entirely inside Docker using kind, still a real kubeadm cluster underneath, just packaged differently. The one trade-off is that AppArmor questions aren't available in this mode, since Docker can't expose them. Every other question works the same as the other two modes.
bash install.sh --lightweight About 2 GB of free RAM is comfortable.
On a VPS or VM
The original, full-fidelity option. One command installs containerd, kubeadm, and Calico, creates the Incus worker nodes, and deploys the web terminal and the exam server.
bash install.sh --host <your-vm-ip> Needs 4 vCPUs, 8 GB of RAM, 30 GB of disk, and root SSH access. If your VPS has a public IP, install.sh tunnels the connection over SSH automatically, so port 80 is never opened to
the internet.
How it works
Pick a mock exam and a duration, then work through each task in a real browser terminal, with kubectl, helm, etcdctl, and crictl all available.
Click Setup Env to put the cluster into the expected state for
that question. Click Check Answer once you're done, and get a
pass or fail with a specific reason, checked against the real cluster state, not just your YAML.
Free to use, open to read
K16S is released under the PolyForm Noncommercial license. It's free for personal study and non-commercial use. You can read every line of the setup scripts and every grading script before you run them. Nothing is hidden.
Common questions
Is the self-hosted version of K16S free?
Yes. It is open source and free for personal, non-commercial use. There is no payment, no account, and no time limit.
Do I need a VPS to run it?
No. A VPS is only one of three supported options. You can also run the same cluster on your own laptop with Lima, or inside Docker with kind if your machine has limited memory.
How is this different from the hosted version at ewry.net/k16s?
Same exam content, different trade-off. The hosted version needs no setup and includes readiness dashboards and support. Self-hosting takes about fifteen minutes to set up and needs a spare laptop or VPS, but it is free and everything stays on your own hardware.
Can I add my own practice questions?
Yes. Each question is one YAML file plus two small bash scripts: one that sets up the scenario and one that grades it. Custom questions work exactly like the built-in ones.
Get started on GitHub
About fifteen minutes on a VPS, or a single command on your laptop.
immanuwell/k16s-exam-simulator