Introduction¶
Desktop Kubernetes is a Linux Bash CLI that provisions a desktop Kubernetes cluster using KVM or VirtualBox - with each cluster node consisting of a guest VM on your desktop running Alma, CentOS, or Rocky Linux.
There are many fine and innovative Kubernetes distros. This distro has just a few goals:
- Create a cluster consisting of VMs. Since many of us troubleshoot Kubernetes running in VMs, this seems natural.
- Create and run the cluster on the desktop workstation rather that requiring to buy additional hardware or rent virtualized infrastructure.
- Use pure upstream binaries without any additional packaging or alteration.
- Create a cluster provisioning process that is simple and repeatable.
The goal of this distro is to create stable, reliable, production-grade VM-based development clusters to support at-home or localized desktop development of Kubernetes workloads, and experimentation with CNCF Kubernetes workloads.

Desktop Kubernetes is the 57 Chevy of Kubernetes distros: you can take it apart and put it back together with just a few Linux console tools: bash, curl, ssh, scp, tar, openssl, helm, yq, kvm tools (virsh, virt-install), and kubectl. That being said, v1.33.1 of this distribution is Kubernetes Certified. See: CNCF Landscape.
The project consists of a number of bash scripts and supporting manifests / config files. The design is documented in the Design Section.
This project started as a way to automate the steps in Kelsey Hightower's Kubernetes The Hard Way - just to see if I could. But over time it matured and, at this point I rely on it for all my local Kubernetes development. I use it on Ubuntu 24+ systems with 64 gigs of RAM and 6+ hyper-threaded processors. I can run a three-node cluster with each VM having 2-3 CPUs and 8+ gigs of RAM.
Desktop Kubernetes can provision clusters with one, two, three, or more nodes. The only limits are the memory and CPU of your desktop computer.