Skip to content

April 26, 2026 • qnib • 2 min read

KubeVirt VMS FTW

100% human-written — no AI tools are used to write these posts.

Just before container came around I was working in a french R&D devision and was a big proponent of Vagrantfiles. A structured way of wiring together VMs and run a bootstrap script to set up the VM. Even using packer to prebuild the VM image. I tried to spin up a complete HPC cluster (slurm, logging,..) with that aporach but the overhead of the VMs for each service broke my laptop at the time.

After container came around I used containers and I was able to have a complete cluster run on my laptop; I called it QNIBTerminal (Blog post from back then).

Fast forward to 2026

I thought I am totally done with VMs for HPC in that case, but I recently wanted to run a SLURM cluster on my homerack and asked myself: How do I spin up different OS clusters and wire them up? Sure, I can do it in containers but how close is that going to be to the customers enviroment?

Thus, I though I (equipped with my favorite AI agent) give KubeVirt a spin. I already had a K8s cluster with some bare metal nodes able to hold a four node SLURM cluster for testing.

And I was not disappointed - I created a bunch of ansible modules to install all the bits an pieces. To spin up a fresh cluster with dedicated IP addresses I’ll run one ansible playbook to deploy the VMs (base OS, networking set up) and afterwards run another playbook to install SLURM and the components I need.

I am still a committed container guy of course - but a set of VMs with the usual flat IP address space between them has it’s apeal to me - even to me. :)

Quick’n’Dirty MVP

Not much more to say about this - just a shout out to KubeVirt really. To run this yourself:

  1. Install the KubeVirt operator
  2. Spin up a single VM
  3. Create multiple VMs and have them run as a flat-IP cluster G