Kubelings ☸️
An interactive, client-side WebAssembly learning platform and comprehensive reference manual for Kubernetes.
⚡ Interactive WebAssembly Playground
Kubelings runs 100% in your browser using Pyodide WebAssembly and Monaco Editor (VS Code in the browser):
┌────────────────────────────────────────────────────────────────────────┐
│ Web Browser Tab │
│ ┌───────────────────────┐ ┌─────────────────────────────┐ │
│ │ Monaco Editor │ YAML Edit │ Web Worker (Pyodide Wasm) │ │
│ │ (VS Code in Browser) ├────────────►│ • PyYAML Manifest Parser │ │
│ └───────────────────────┘ │ • 26 Schema Validators │ │
│ │ • Progressive Hint Engine │ │
│ ┌───────────────────────┐ └──────────────┬──────────────┘ │
│ │ Interactive xterm │◄───────────────────────────┘ │
│ │ Terminal Output │ Instant Test & Validation Result │
│ └───────────────────────┘ (< 1ms in WebAssembly) │
└────────────────────────────────────────────────────────────────────────┘
📚 Curriculum Structure (26 Chapters & 114 Exercises)
Core Workloads & Storage
- 01. Pods & Core Workloads (
pods01–pods06): Pod specs, multi-container pods, initContainers, ports - 02. Controllers & Replication (
ctrl01–ctrl06): Deployments, ReplicaSets, StatefulSets, DaemonSets, Jobs, CronJobs - 03. Configuration & Secrets (
config01–config05): ConfigMaps, Secrets, projected volumes, envFrom - 04. Storage & Persistent Volumes (
storage01–storage05): PVs, PVCs, StorageClasses, access modes, volumeMounts
Networking & Traffic Routing
- 05. Services & Networking (
net01–net05): ClusterIP, NodePort, LoadBalancer, Headless services, Endpoints - 06. Ingress & Gateway API (
ingress01–ingress04): Ingress controllers, path rules, TLS termination, annotations - 21. Gateway API Deep Dive (
gateway01–gateway04): GatewayClass, Gateways, HTTPRoute, canary splits, ReferenceGrant - 09. Network Policies (
netpol01–netpol04): Default deny, ingress/egress CIDR blocks, port rules
Scheduling, Security & Scaling
- 07. Scheduling & Advanced Placement (
sched01–sched05): nodeSelector, node/pod affinity, taints, tolerations, topology spread - 08. Security, RBAC & ServiceAccounts (
rbac01–rbac05): Roles, ClusterRoles, RoleBindings, SecurityContext, PSS/PSA - 10. Health Probes & Lifecycle (
health01–health04): Liveness, readiness, startup probes, termination grace periods - 11. Autoscaling (HPA, VPA, KEDA) (
autoscale01–autoscale04): Horizontal Pod Autoscaler v2, VPA, event-driven KEDA - 18. Admission Webhooks (
webhook01–webhook04): Mutating, validating webhooks, sidecar injection, CRD conversion
CRDs, Troubleshooting & Packaging
- 12. Custom Resources & Operators (
crd01–crd04): OpenAPI v3 schemas, subresources, reconciliation loops - 13. Production Troubleshooting (
troubleshoot01–troubleshoot05): CrashLoopBackOff, ImagePullBackOff, Pending pods, ephemeral debug - 19. Package Management with Helm (
helm01–helm04): Chart.yaml, Go templates, _helpers.tpl, values schemas, subcharts - 20. Declarative Customization with Kustomize (
kustomize01–kustomize04): Bases, overlays, generators, strategic merge patches
Modern Cloud Native Ecosystem
- 14. GitOps with ArgoCD (
gitops01–gitops04): Applications, ApplicationSets, sync policies, Argo Rollouts - 15. Service Mesh & Cilium eBPF (
mesh01–mesh04): L7 routing, mTLS, FQDN egress, Hubble observability - 16. Policy as Code (Kyverno & OPA) (
policy01–policy04): ClusterPolicies, mutating/generating rules, Gatekeeper constraints - 17. Multi-Tenancy & Virtual Clusters (
tenant01–tenant04): HNC anchors, tenant quotas, vcluster control planes - 22. Infrastructure as Data with Crossplane (
crossplane01–crossplane04): XRDs, Compositions, Managed Resources, claims - 23. Kernel Security with eBPF Tetragon (
tetragon01–tetragon04): sys_execve tracing, credential monitoring, kernel Sigkill - 24. Distributed AI Orchestration with KubeRay (
ray01–ray04): RayCluster, RayJob batch tuning, RayService serving - 25. Batch AI Scheduling (Kueue & Volcano) (
kueue01–volcano02): ClusterQueue cohorts, gang scheduling, fair-share - 26. Hardware Acceleration & DRA (
accel01–accel04): NVIDIA MIG, Apple Silicon GPU, DRA, vLLM serving
🛠️ Local Development & Contributing
Setup
# Clone repository
git clone https://github.com/dnf0/kubelings.git
cd kubelings
# Create virtual environment and install dev dependencies
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
Running Tests and Linting
# Run test suite
pytest
# Run linter and formatting
ruff check .
ruff format --check .
# Run type checks
pyright
# Build documentation locally
mkdocs serve
🌐 The *lings Ecosystem
If you enjoy the interactive learning model of Kubelings, explore the other platforms in our suite:
- 🏗️ Terralings – Master Terraform and OpenTofu through interactive infrastructure-as-code exercises.
- 🇪🇸 Spanglings – Developer-grade CLI & interactive TUI for learning Spanish (B1–C1).
- ⚡ Raylings – Learn distributed AI, Ray Core actors, and scalable clusters through hands-on Python exercises.
📄 License
Kubelings is open-source software licensed under the Apache License 2.0.
Metadata
Release files for kubelings 0.16.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kubelings-0.16.0.tar.gz | 770.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kubelings-0.16.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 999.7 kB
Release files / kubelings-0.16.0.tar.gz
| Download URL | kubelings-0.16.0.tar.gz |
|---|---|
| Size | 770.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd705c744db14a36b31892c30b6077c5565f323b3a8a2d63120223df4a7e8712
|
|
BLAKE2b-256 checksum How to use checksums |
1c62ad700a3826bd8e8293f806a6686ac2b0d98a3e1b2c109f7d62e1d1de179b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / kubelings-0.16.0-py3-none-any.whl
| Download URL | kubelings-0.16.0-py3-none-any.whl |
|---|---|
| Size | 228.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c235860fc7e014db8845a193e55deb1bf15cef86283f9e4f2a5febd36aa17d91
|
|
BLAKE2b-256 checksum How to use checksums |
d86a53146d64470fdd5fde8a9de920f2312b95868f7ce272439b157cbf4f8a73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|