· javascript

Tabernetes: Kubernetes in your browser tab

Tabernetes is a real Kubernetes v1.37 control plane.


Not a simulator. kube-apiserver, kube-controller-manager, kube-scheduler and kubectl are the upstream Go code, compiled to WebAssembly into one binary. The only replaced part is etcd: a small in-memory implementation of the etcd v3 API.

Everything runs in your browser tab. Reload the page and the cluster is gone.

A control plane without nodes is boring. Type join and start the printed docker run command.

The container runs a kubelet and containerd and connects to your browser with WebRTC. Then kubectl get pods -A shows flannel, kube-proxy and CoreDNS on a real node.

KubeDoom starts on the node, and every pod in the default namespace is a monster. Shoot one, and KubeDoom deletes the pod.

The Deployment brings it back, of course. Your browser tab is a node, too.

The control plane runs in a shared worker, and every tab of this page joins the cluster as a node. Open the page in a second tab, and kubectl get nodes shows tab-2.

Close the first tab, and the cluster keeps running. Type llm, and a Deployment runs a language model on the GPU of your tab, with WebLLM and WebGPU.

Earlier coverage

Related coverage

Also worth reading

  1. angular 22.3.0-rc.0 released
  2. node 26.13.1 released
  3. next.js 16.5.0-canary.47 released
  4. CPython 3.16.0a2 released for developers
  5. AI company Fireworks says hackers stole data, billing info during October breaches