Kubernetes Practitioner Workshop
Free. Open source. No paywall. A vendor-neutral Kubernetes workshop you can run for yourself, for colleagues, or as a full multi-day delivery — with interactive slides, ready-to-run labs, a portable question bank, and downloadable PDFs.
Use it to learn, to explain Kubernetes concepts to your team, or to facilitate a room. Restyle it, reorder it, fork it, redistribute it, or sell it under the 0BSD License — no attribution required. No royalties, no accounts, and no telemetry.
Live decks (always-current GitHub Pages builds):
- Day 1 — Foundations
- Day 2 — Running workloads
- Day 3 — Security, delivery, operators
- Canonical 3-day cut ·
Try it in sixty seconds
| | |
| --- | --- |
| Docs home | v* tag) |
| Labs | labs/README.md · start at labs/day-1/00-setup.md |
| Quizzes | Self-check quiz in the browser · quiz/README.md (portable bank; FOSS live host still open) |
| Run slides locally | docs/run-slides.md (Node.js + pnpm) |
| Known limitations | docs/beta-limitations.md (S24 stub; add-on smoke backlog) |
| Roadmap | docs/roadmap.md (quizzes, OpenTelemetry — no dates) |
!Animated tour of the workshop deck — real slides stepping through their click animations
Real deck, no hand-taken screenshots: CI re-renders this tour from the slide sources
(pnpm showcase:gif). Static frame: docs/images/deck-preview.png.
What you get
- ~50% slides / ~50% practice — Slidev decks paired with standalone Markdown labs.
- A clear red line — one app grown Pod → Deployment → Service → Ingress → Gateway API,
- Two lab environments — assigned namespace on a shared cluster, or a local kind
./workshop up.
- Facilitator support — syllabus, pacing notes, and add-on checklists in
docs/facilitator-guide.md.
- Offline PDFs — every release exports day decks plus full/3-day compatibility PDFs.
- A self-check quiz — answer in the browser
Audience
Beginner-to-intermediate. Comfortable in a shell, with basic Git, YAML, HTTP, and container vocabulary. Container on-ramp labs (S01/S02) need no cluster.
By the end, a learner can build and secure an image; explain the control plane; author and operate core workloads through Gateway API; inject config and storage; set resources and probes; harden with PSA, NetworkPolicy, and RBAC; deliver with Helm and GitOps; and read an operator in the wild — mapped to CKA/CKAD domains as a design check (cert prep is not the organizing principle).
Curriculum at a glance
The workshop is a superset of 28 sections (S00–S27), boiled down per delivery into a
canonical 3-day cut. Spine: Pod → Deployment → Service → Ingress → Gateway API
(S05–S09).
| Day | Theme | Sections |
| --- | --- | --- |
| Day 1 | Foundations + red line | S00, S03–S08 |
| Day 2 | Running workloads well | S09–S14 |
| Day 3 | Security, delivery, operators | S17, S20–S23, S25–S27 |
Authored on-ramp / add-back sections (S01, S02, S15, S16, S18, S19) live in
Optional / Appendix; S24 is a deferred stub (not schedulable).
26 of 28 sections are fully authored (S27 slides-only wrap-up). Full map:
docs/syllabus.md — contract-checked against
scripts/deck-manifest.mjs.
Why this, not X?
- vs. paid platforms (KodeKloud, A Cloud Guru, Linux Foundation courses) — this is
git clone (or
the live Pages site) gets you everything: slides, labs, and PDFs.
- vs. Kubernetes the Hard Way — KTHW teaches you to bootstrap a control plane from
kind or shared) and teaches the **practitioner
path**: workloads, config, storage, probes, security, delivery, and operators — where a
working engineer actually spends their time.
- vs. single-video courses (YouTube walkthroughs, one-off Udemy/paid videos) — great
- vs. the official Kubernetes docs/tutorials — an excellent reference, but a
- Ownership — 0BSD means you can restyle it, cut your own agenda from the 28-section
Choose your path
- Preview — documentation site and
- Participate —
labs/README.md, then Lab 00. For kind:
docs/setup.md.
- Facilitate —
docs/facilitator-guide.md. - Contribute — authoring rules in
AGENT.md.
Run the slides on your machine
Complete copy-paste path (Node 22 + pnpm — this repo does not ship an npm lockfile):
git clone https://github.com/PlatformRelay/Kubernetes-Workshop.git
cd Kubernetes-Workshop
corepack enable
corepack prepare [email protected] --activate
pnpm install --frozen-lockfile
pnpm dev:day1 # http://localhost:3030/ — or pnpm dev / dev:3day / dev:superset
More detail (build, preview, Pages tree): docs/run-slides.md.
Develop (maintainers)
pnpm install
pnpm dev # gum menu when available
pnpm deck -- --list
pnpm build # live day entries
pnpm export # PDFs (playwright-chromium)
pnpm lint && pnpm link-check
pnpm test:pages # Pages wiring contract
pnpm pages:build # MkDocs + hash-routed decks → ./site (needs MkDocs)
Layout
| Path | Purpose |
| --- | --- |
| docs/ | MkDocs documentation (GitHub Pages landing) |
| scripts/deck-manifest.mjs | Section metadata + generated deck membership |
| slides-day-{1,2,3}.md | Live day entries |
| slides.md / slides-3day.md | Compatibility superset / three-day cut |
| pages/SNN-topic/ | Section sources |
| labs/day-*/ | Standalone labs |
| quiz/ | Portable question bank + the static self-check player |
| theme/ | Local Slidev theme |
| docs/decisions/ | ADRs |
Continuous integration & publishing
| Workflow | Trigger | Role |
| --- | --- | --- |
| ci.yml | PR + main | Labs lint, deck builds, link-check, Pages contract tests, showcase GIF |
| pages.yml | main (+ manual) | MkDocs + Slidev + quiz player → GitHub Pages |
| release.yml | v* tags | PDF + offline zip GitHub Release |
| lab-smoke.yml | schedule / dispatch / PR subset | Disposable kind Day-1 smoke |
| codeql.yml | main / schedule | Code scanning |
Release policy (immutable tags, day-deck artifacts): docs/release.md.
License
0BSD — use, copy, modify, redistribute, and sell freely. No attribution required. Copyright (C) 2026 Platform Relay.