harikubeadm Playground
A single-machine playground to experiment with kubeadm and a HariKube-backed control plane.

- eth0
- /
- oci://ghcr.io/sagikazarmark/iximiuz-labs/playgrounds/harikubeadm/dev-machine:live@sha256:9ed1ce84a609a6b0aa87fb73bc1707a9816868962d6c0b50a68ee946ad48deee
- eth0
- /
- oci://ghcr.io/sagikazarmark/iximiuz-labs/playgrounds/harikubeadm:live@sha256:5efacd66e325c4f8290f78d9fa3a1dc3161d9a1a40829f793d4b4c6c793045f6
HariKubeadm
HariKube replaces the local etcd instance with an etcd-compatible middleware backed by SQLite. This playground gives you the patched images and kubeadm wiring, but it leaves cluster creation up to you.
System Components
kubeadm: Cluster lifecycle management and bootstrappingkubelet: Runs static pods and regular workloads on the nodecontainerd: Container runtime used by kubeletHariKube middleware: etcd-compatible storage endpoint backed by SQLitekubectl(alias:k): Kubernetes cluster management and debugging
Versions
- Kubernetes: v1.35.0
- HariKube middleware: release-v1.0.3
Getting Started
This playground preloads the patched HariKube control-plane images and the middleware image during the build.
Initialize the cluster on the harikubeadm machine:
/opt/lab/init.sh --remove-taint
Then configure kubectl access on the dev-machine:
/opt/lab/configure.sh
What Changes Here?
- kubeadm uses HariKube as its external storage endpoint
- kubeadm skips its own
etcdphase and uses a HariKube-backedetcdstatic pod instead kube-apiserverandkube-controller-managerare replaced with HariKube images- HariKube itself runs as a static pod managed by kubelet
- cluster state is persisted in
/var/lib/harikube/k8s.sqlite
Learn More
- HariKube
- Kubernetes
Happy learning!
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 →