Kata Containers Demo Playground
A Kubernetes cluster with the Kata Containers runtime preinstalled.

- eth0
- /
- k8s-omni-dev-machine
- eth0
- /
- k8s-omni-cplane
- eth0
- /
- k8s-omni-node
- eth0
- /
- k8s-omni-node
This playground demonstrates the Nested Virtualization capabilities of the new Cloud Hypervisor backend. It is based on the official Kubernetes Omni playground and adds the following simple customizations:
- Backends of the
cplane-01,node-01,andnode-02machines were switched from the defaultFirecrackertoCloud Hypervisor. - Kata Containers installed using its official Helm chart.
- A QEMU-backend Nginx Pod is deployed.
export VERSION=$(curl -sSL https://api.github.com/repos/kata-containers/kata-containers/releases/latest | jq .tag_name | tr -d '"')
export CHART="oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy"
helm install kata-deploy "${CHART}" --version "${VERSION}"
kubectl apply -f -<<EOF
apiVersion: v1
kind: Pod
metadata:
name: nginx-kata-qemu
spec:
runtimeClassName: kata-qemu
containers:
- name: nginx
image: nginx:stable
EOF
To verify that the Nginx process runs in its own VM, you can use the following command:
kubectl exec -it nginx-kata-qemu -- uname -a
Linux nginx-kata-qemu 6.18.15 #1 SMP Tue Mar 17 01:39:00 UTC 2026 x86_64 Linux
To see the full list of the supported runtime classes, run:
kubectl get runtimeclasses
NAME HANDLER AGE
kata-clh kata-clh 33s
kata-cloud-hypervisor kata-cloud-hypervisor 33s
kata-dragonball kata-dragonball 33s
kata-fc kata-fc 33s
kata-qemu kata-qemu 33s
kata-qemu-cca kata-qemu-cca 33s
kata-qemu-coco-dev kata-qemu-coco-dev 33s
kata-qemu-coco-dev-runtime-rs kata-qemu-coco-dev-runtime-rs 33s
kata-qemu-nvidia-gpu kata-qemu-nvidia-gpu 33s
kata-qemu-nvidia-gpu-snp kata-qemu-nvidia-gpu-snp 33s
kata-qemu-nvidia-gpu-tdx kata-qemu-nvidia-gpu-tdx 33s
kata-qemu-runtime-rs kata-qemu-runtime-rs 33s
kata-qemu-se kata-qemu-se 33s
kata-qemu-se-runtime-rs kata-qemu-se-runtime-rs 33s
kata-qemu-snp kata-qemu-snp 33s
kata-qemu-snp-runtime-rs kata-qemu-snp-runtime-rs 33s
kata-qemu-tdx kata-qemu-tdx 33s
kata-qemu-tdx-runtime-rs kata-qemu-tdx-runtime-rs 33s
A real VM, not a container
Get root on a VM with its own kernel, so Docker, Kubernetes, and systemd just work.
Read the docs →
SSH from browser or CLI
Use the built-in web terminal, or connect with labctl ssh, plain ssh, scp, or rsync.
Read the docs →
Drive it with AI
Let Claude, Codex, or any MCP client start this playground and run commands in it.
Read the docs →
Expose HTTP(S) ports
Give any web app running inside the VM a public URL - for yourself or to share with others.
Read the docs →
Share terminals
Invite others into your terminal session, or open it yourself from another device.
Read the docs →
Customize with init scripts
Add shell scripts that run at boot to install packages, clone repos, or seed test data.
Read the docs →
Private networking
VMs reach the internet via NAT with no public IP; several VMs share bridge networks.
Read the docs →
Ephemeral or persistent
By default, VMs are destroyed when the session ends; enable persistence to keep the disks for next time.
Read the docs →
Built-in container registry
A private registry.iximiuz.com for every playground to share images across services and VMs.
Read the docs →