Skip to main content

Environment and bootstrap options

Kubernetes clusters can be deployed in many different environments and bootstrapped in several ways. The tables below show a range of host platforms and cluster bootstrap combinations to choose from.

info

Throughout the Sphere, I use combinations of Parallels VMs, bare-metal Ubuntu, and Kubespray (Ansible) for development and production clusters.

Host platforms

Environment and virtualisation layer.

This is the host platform and how compute is provided.

Environment typeUbuntumacOSWindows
Bare metal / nativeYesNoNo
WSL2 Linux layerN/AN/AYes
Parallels VMsN/AYesN/A
VirtualBox VMsYesYesYes
Hyper-V VMsYesN/AYes
VMware Fusion / WorkstationYesYes (Fusion)Yes (Workstation)
VMware ESXi (bare-metal HV)Remote hostRemote hostRemote host
Multipass (Ubuntu VMs)YesYesYes
Colima (macOS VM runtime)N/AYesN/A

Cluster bootstrap options

Cluster bootstrap or distribution.

Bootstrap or distributionDescriptionSuitable for
kindKubernetes in Docker containers.Fast development, CI, testing.
k3dk3s in Docker containers.Fast development, low-memory laptops.
k3sLightweight Kubernetes (single binary).Small clusters, edge, labs.
MicroK8sCanonical’s self-contained Ubuntu Kubernetes.Development clusters.
minikubeLocal single-node Kubernetes with multiple drivers.Beginners, exploratory testing.
Rancher DesktopGraphical user interface (GUI) managed Kubernetes.Simple and visual use.
Docker Desktop KubernetesToggle-on Kubernetes from Docker Desktop.Simple but heavier.
kubeadmUpstream installer.Learning production-style lifecycle.
Kubespray (Ansible)High availability (HA) multi-node automation.Real clusters, repeatable builds.
Talos LinuxImmutable OS with a cluster API.Advanced operations.

Common pairings

Environment and bootstrap combined.

Environment (table above)Cluster bootstrapOutcome or notes
Docker runtimekind or k3dFast dev loop, great for local testing.
Parallels VMs (macOS)KubesprayHA multi-node, repeatable builds, my setup.
Parallels VMs (macOS)kubeadmClose to production, manual control.
Parallels VMs (macOS)k3sLight footprint, easy multi-node.
Multipass VMsk3s or kubeadmPortable development clusters.
WSL2 Linuxkind / k3d / k3sSolid Windows developer workflow.
Bare-metal UbuntuKubesprayPhysical cluster, networking, and storage.
VMware ESXi (remote host)kubeadm or KubesprayProduction-like on a dedicated hypervisor.
Any VM stackTalos LinuxImmutable cluster, Git-driven operations.

Notes.

  • ESXi is a separate bare-metal hypervisor. You manage it from Ubuntu, macOS, or Windows, but it does not run on those operating systems.
  • On ESXi you provision VMs, then install Kubernetes using kubeadm, Kubespray, k3s, or Talos as usual.