The most realistic CKA (Certified Kubernetes Administrator) exam simulator. Practice on real Kubernetes clusters with an environment that mirrors the actual PSI Bridge exam interface.
CKA prep tools either give you multiple-choice questions (useless for a performance-based exam) or require you to manually set up clusters. grindx cka gives you the full experience: real clusters, a terminal, a timer, and scored validation — all in a desktop app.
- Real Kubernetes clusters — Kind clusters spun up automatically, no cloud costs
- Bastion/jump host architecture — Start on a jump host and SSH into nodes, exactly like the real exam
- Multi-cluster exams — Switch contexts between clusters just like the CKA
- 86 hands-on tasks across 5 sessions covering all CKA domains
- Automated validation — Your work is scored against real cluster state
- Post-exam review — Category breakdown, per-question drill-down with solutions
- Past attempts dashboard — Track your progress over time
- CKA-realistic UI — Split pane with questions, terminal, and timer
- Exam & Practice modes — Timed exam mode or relaxed practice with hints
| Domain | Weight | Sessions |
|---|---|---|
| Cluster Architecture, Installation & Configuration | 25% | Session 5 |
| Workloads & Scheduling | 15% | Sessions 1, 2 |
| Services & Networking | 20% | Sessions 1, 2, 4 |
| Storage | 10% | Sessions 2, 4 |
| Troubleshooting | 30% | Sessions 3, 4 |
You need these installed before running grindx cka:
| Dependency | Why | Install |
|---|---|---|
| Docker Desktop | Runs Kubernetes clusters locally | docs.docker.com |
| kind | Creates local Kubernetes clusters in Docker | brew install kind or go install sigs.k8s.io/kind@latest |
| kubectl | Kubernetes CLI (used inside the exam) | brew install kubectl |
Note: Docker must be running before you start the app.
Download the latest release for your platform from the Releases page:
- macOS —
grindx-cka-macos-universal.dmg - Linux —
grindx-cka-linux-amd64.tar.gz - Windows —
grindx-cka-windows-amd64.zip
On macOS, after dragging to Applications, run this once to bypass Gatekeeper:
xattr -cr /Applications/grindx\ cka.appWindows note: Cluster creation is slower on Windows due to Docker Desktop running through WSL2. Be patient on first launch — it's pulling images.
Additional build dependencies: Go 1.22+, Node.js 18+, and the Wails CLI.
# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Clone and build
git clone https://github.com/grindxhq/cka.git
cd cka
cd frontend && npm install && cd ..
wails buildThe built app will be in build/bin/.
For development with hot-reload:
wails dev- Select a session — Choose from 5 exam sessions of increasing difficulty
- Clusters spin up — Kind creates real Kubernetes clusters in Docker
- Solve tasks — Use the integrated terminal to complete each task
- Validate — Click validate to check your work against the actual cluster state
- Review — See your score, category breakdown, and detailed solutions
┌─────────────────────────────────────────────┐
│ Desktop App (Wails v2) │
│ ┌──────────────┐ ┌────────────────────┐ │
│ │ React UI │ │ Go Backend │ │
│ │ - Questions │ │ - Exam Service │ │
│ │ - Terminal │ │ - Cluster Manager │ │
│ │ - Timer │ │ - Validator │ │
│ │ - Review │ │ - History │ │
│ └──────────────┘ └────────────────────┘ │
└─────────────────────────────────────────────┘
│ │
│ WebSocket │ docker exec
▼ ▼
┌─────────────────┐ ┌─────────────────────┐
│ Bastion (Jump │──▶│ Kind Clusters │
│ Host Container) │SSH│ - Control Planes │
│ [student@exam] │ │ - Worker Nodes │
└─────────────────┘ └─────────────────────┘
.
├── app.go # Wails app lifecycle
├── main.go # Entry point
├── internal/
│ ├── cluster/ # Kind cluster management + bastion setup
│ ├── service/ # Exam, questions, history, validation
│ ├── question/ # Question parsing and types
│ ├── terminal/ # WebSocket terminal handler
│ └── validator/ # Task validation engine
├── frontend/ # React + TypeScript UI
│ ├── src/components/ # UI components
│ ├── src/hooks/ # Zustand store + theme
│ └── src/api/ # Wails bindings
├── deck/ # Standalone revision deck content + backlog
│ └── topics/ # Component/topic decks
├── cmd/test-runner/ # Automated e2e test runner
└── questions/exams/ # Question bank (YAML + optional .md scenario notes)
├── session-1/ # Fundamentals (18 tasks)
├── session-2/ # Intermediate (17 tasks)
├── session-3/ # Advanced (16 tasks)
├── session-4/ # Expert (19 tasks)
└── session-5/ # Cluster Architecture (16 tasks)
Each question can have an optional markdown sidecar file with the same basename as the YAML.
Example:
questions/exams/session-2/
├── s2-12-troubleshoot-crashloopbackoff.yaml
└── s2-12-troubleshoot-crashloopbackoff.md
If the .md file exists, the app exposes it as a rich "Study Deck" panel in Practice mode. This is the easiest way to build a running scenario deck one question at a time as you study and debug.
Standalone revision decks live under deck/ and are not tied to running Docker or clusters.
Example:
deck/
├── backlog.yaml
└── topics/
└── api-server/
├── topic.yaml
├── overview.md
├── crash-triage.md
└── invalid-manifest-yaml.md
topic.yaml defines the deck metadata and subtopic ordering. Each subtopic points at a markdown file that the app renders inside the setup-screen Deck view.
Contributions welcome — whether it's new questions, bug fixes, or features.
- Fork the repo
- Create your branch:
git checkout -b feature/awesome - Make your changes
- Run the e2e tests:
make test-e2e SESSION=session-1 - Commit and push
- Open a PR
The test runner validates every solution against real Kind clusters:
# Test a single session (creates clusters, runs solutions, validates, cleans up)
make test-e2e SESSION=session-1
# Test a specific question against a running cluster
make test-question SESSION=session-1 QUESTION=s1-01-namespace-resource-quotas
# Test all sessions
make test-all
# Dry run (shows what would execute, no cluster needed)
make test-dry-run SESSION=session-1This project is not affiliated with, endorsed by, or associated with The Linux Foundation or the Cloud Native Computing Foundation (CNCF). "Certified Kubernetes Administrator (CKA)" is a registered trademark of The Linux Foundation. This is an independent study tool for exam preparation.
Built by grindxhq