Quickstart
Install once, try a real rep without an account, then start training with saved progress. Both entry commands handle tool checks, pack preparation and launching the drill shell.
The fast path
Follow Install for the CLI and your platform’s required tools, then start Docker. Use CLI v0.1.13 or later for the demo.
kubefit demo
Choose CKA or CKAD, or run kubefit demo cka / kubefit demo ckad directly. The demo checks the tools, downloads and verifies its public pack, prepares the local cluster, seeds the task and starts the timer. No account, login, packs or separate drill command is needed. Missing tools must still be installed using the hints it prints.
Solve the task in the shell that opens. Run kubefit grade to check your work, then exit to finish and see the result. The demo does not save a rep, sync progress or affect readiness.
Ready to train? From your normal terminal:
kubefit start
Choose cka or ckad if prompted, or pass the track explicitly. start remembers the track, checks the tools, runs browser sign-in if needed, fetches and verifies the training pack if absent, and launches the next rep based on your history. Create an account and confirm your email during the sign-in flow if needed. Run kubefit grade and exit as before; this time the rep is recorded and synced to your account.
Run kubefit start again to continue training. When finished, leave the drill shell and run kubefit end to remove the local environments. Saved progress stays.
Optional manual setup
You can skip the steps below when using demo or start. They show the individual commands for troubleshooting or explicit control over account-backed training.
A cold pass is the goal of every rep: the first kubefit grade passes every check, with no kubefit hint and no kubefit solution. It is the closest thing to exam conditions, and reports count it separately from passes that needed retries or help.
1. Create your account
Create a free account ↗ with an email and a password of 12 or more characters, then open the confirmation link in your inbox. Signup is open; there is no invite or waitlist.
No mail after a few minutes? Check spam, then see Email did not arrive. You can install the CLI while you wait.
2. Install the CLI and check your tools
On macOS:
brew tap BGilleran522/kubefit
brew trust BGilleran522/kubefit
brew install kubefit kind kubernetes-cli helm
On Linux, follow the Linux installation instructions for your tools and install the CLI binary, then return here.
There is no separate setup check to run first: kubefit demo and kubefit start check your tools as they launch. The CKA track needs Docker, kind, kubectl and helm; the check reports anything missing with a platform-specific hint. Lima only matters for LFCS, so a missing there does not block this page. If Docker shows stopped, start Docker Desktop (or your engine) and try again. Anything else missing: follow Install and come back.
3. Sign in from the terminal
kubefit login
The CLI prints a ten-character code and a link. Open the link, sign in to the app, check that the code on the page matches your terminal, and approve. The code is good for ten minutes and works once.
4. Download the CKA pack
kubefit packs cka
The pack is downloaded, its signature verified, and cached under ~/.kubefit/packs. The same command fetches the track's mock exam form. To get the other tracks later, name them: kubefit packs ckad cks. A bare kubefit packs fetches only your saved track once a drill has remembered one, and all eight before that.
5. Start a drill
kubefit drill cka
The first run creates a three-node kind cluster called muscle. That takes a minute or two and pulls the node image once; later drills reuse the cluster. kubefit then seeds the scenario, prints the task, starts the clock and opens a shell in the exercise directory with a status line before every prompt:
⏱ 00:42/7m · session 00:42 kubefit task · kubefit grade · kubefit pause · kubefit escape · exit to grade
A bare track name picks the drill you most need. On a new account that is an undrilled exercise from a heavily weighted domain.
6. Work, grade once, exit
Read the task fully. Names and namespaces are graded exactly. Do the work with kubectl (aliased to k), and verify it yourself the way you would in the exam. When you believe it is done:
kubefit grade
✓ service selector matches pod labels
✓ 3 ready endpoints
✓ HTTP 200 from inside the cluster
All checks passed. Type exit to record the rep.
Every check passing on that first grade is the cold pass. Then:
exit
exit confirms the final state, prints the result with your time against the target, records the rep and syncs it to your account. A recorded cold pass gets a short Coach Caz celebration in the terminal. The exit check is not an extra attempt, so one passing grade followed by exit stays a cold pass.
If a check fails, the grader says what it found. Fix it and grade again: the rep still passes, it just is not cold, and the scheduler brings the exercise back sooner. kubefit task reprints the task, kubefit hint reveals the walkthrough one section at a time, and kubefit abandon leaves without recording anything. Interrupted? kubefit pause stops the clock and kubefit resume restarts it; a paused pass is recorded as paused practice, not a cold pass. kubefit escape ends the drill at once with no rep.
7. See it land, then go again
kubefit report cka
kubefit next
With v0.1.3 or later, next remembers CKA and launches one drill using your rep history. Finish and exit that drill before ending the session. To inspect suggestions without starting anything, use report.
The rep is also on My practice ↗ and Reports ↗ in the app. When you are done for the day:
kubefit end
deletes the cluster and seeded files. Your reps, notes and token stay.
If something went wrong
| Symptom | Go to |
|---|---|
A tool is missing or Docker is stopped | Install |
| No confirmation mail, or login never completes | Account, email and CLI login |
| Cluster creation hangs or fails | Troubleshooting |
| A grade fails and you disagree | Troubleshooting |
Where next
- Drills: everything the drill shell can do, including
--tmux. - Concepts and playbooks: the reading for each track, in the app.
- Tracks and cluster profiles: the other seven packs and what each needs.
- CLI reference: every command on one page.