Kubernetes playground
A simulated cluster that runs in your browser. Type real kubectl commands, break things, fix them, and watch every object change in a live graph.
Open the free sandbox
An empty cluster with metrics-server, EBS CSI storage, Traefik, Envoy Gateway, cert-manager, Flux and Argo CD installed. No goals, just room to try things.
$ kubectl create deployment web --image=nginx:1.29 --replicas=3
Beginner
- Kubernetes about 10 min
Deploy and expose your first app
Create a Deployment, scale it, put a Service in front of it and reach it from inside the cluster.
- deployment
- service
- kubectl
- Kubernetes about 8 min
Fix a Service with no endpoints
The shop app runs, but calls to its Service fail. Find out why the Service has no endpoints and fix it.
- service
- selector
- endpointslice
- troubleshooting
- Kubernetes about 10 min
Fix a Pod stuck in CrashLoopBackOff
The api Deployment keeps crashing. Read the logs, find the missing configuration and get it running.
- crashloopbackoff
- logs
- configmap
- troubleshooting
- Kubernetes about 6 min
Fix ImagePullBackOff
A new release never starts. Read the events, fix the image and check the rollout finishes.
- imagepullbackoff
- events
- rollout
- troubleshooting
Intermediate
- Kubernetes about 10 min
Fix Pods stuck in Pending
A batch of workers never gets scheduled. Read the scheduler's message, fix the resource requests and a node selector.
- scheduling
- pending
- resources
- nodeselector
- taints
- Kubernetes about 8 min
Fix a readiness probe that never passes
The Pods are Running but never Ready, so the Service sends them nothing. Fix the probe without restarting anything by hand.
- probes
- readiness
- endpointslice
- Kubernetes about 15 min
Roll back a broken release, then ship it properly
Version 2.1 of the hello app crashes on start. Roll back, find the missing config file and ship 2.1 with a ConfigMap mounted.
- rollout
- rollback
- configmap
- volumes
- Kubernetes about 12 min
Autoscale a Deployment with an HPA
Set up a HorizontalPodAutoscaler for php-apache, fix why it can't read CPU, generate load and watch it scale.
- hpa
- autoscaling
- metrics-server
- requests
- Kubernetes about 12 min
Fix a PersistentVolumeClaim stuck in Pending
A database StatefulSet waits forever for its volume. Find why the claim never binds, and see WaitForFirstConsumer place the disk in the Pod's zone.
- storage
- pvc
- storageclass
- csi
- statefulset
- Kubernetes about 12 min
Give a CI pipeline least-privilege access with RBAC
The deployer ServiceAccount must update Deployments in the apps namespace and nothing else. Write the Role and RoleBinding, and prove it with kubectl auth can-i.
- rbac
- serviceaccount
- role
- rolebinding
- security
- cert-manager about 15 min
Expose an app with Ingress and a Let's Encrypt certificate
Route shop.example.com to a Service through Traefik, then get a TLS certificate from cert-manager and serve HTTPS.
- ingress
- traefik
- cert-manager
- tls
- acme
- Argo CD about 10 min
Catch drift with Argo CD and turn on self-heal
Someone scaled a Deployment by hand. See Argo CD report OutOfSync, sync it back, then enable automated sync with self-heal.
- argo-cd
- gitops
- drift
- self-heal
Advanced
- Kubernetes about 15 min
Run a canary release with Gateway API
Attach an HTTPRoute from the app team's namespace to a shared Gateway, then split traffic 90/10 between two versions.
- gateway-api
- httproute
- canary
- envoy-gateway
- Kubernetes about 20 min
Lock down traffic with NetworkPolicy
A default-deny policy broke the shop: DNS, the frontend and the API all stopped. Allow exactly the traffic it needs.
- networkpolicy
- security
- dns
- ingress
- Kubernetes about 12 min
Drain a node without breaking a PodDisruptionBudget
Take worker-1 out for maintenance. The drain blocks on a too-strict budget; fix the budget, not the drain.
- drain
- poddisruptionbudget
- maintenance
- eviction
- Flux CD about 15 min
Fix a Flux Kustomization and ship a change through Git
Flux can't apply the apps Kustomization. Fix its path, then scale the app by editing Git, pushing, and reconciling.
- flux
- gitops
- kustomization
- gitrepository
How it works
Everything runs in your browser, with nothing to install and no real cluster behind it. A simulated API server stores objects and validates them like the real one. The scheduler, kubelets and controllers (Deployments, StatefulSets, Jobs, EndpointSlices, HPA, storage with a CSI driver) run every half second on virtual nodes. The add-ons simulate Traefik, Envoy Gateway, cert-manager with Let's Encrypt, Flux and Argo CD on virtual Git repositories. kubectl output matches the real formats and error messages.