Files
nix-config/Virtual-Machine.md
T
Ryan Yin 6180072646 chore: drop the KubeVirt guest bits
The k3s-test workers never ran (they were stuck waiting for volume
binding) and will be re-added as microVMs, so remove their KubeVirt
configs and everything that only existed for KubeVirt guests:

- hosts/k8s/k3s-test-1-worker-{1,2,3} and their outputs
- lib/genKubeVirtGuestModule.nix and lib/genK3sAgentModule.nix (the
  latter was only used by the workers)
- the KubeVirt image upload recipes (upload-vm, upload-idols,
  upload-k3s-test) and the kubevirt image package in the idols outputs
- refresh the docs; keep only accurate historical mentions (e.g. the
  restic backup path must stay as it is)
2026-09-21 17:24:40 +08:00

1.2 KiB

How to create & manage VMs (the retired KubeVirt path)

[!NOTE] KubeVirt is being retired. aquamarine runs natively on youko and the k3s-test nodes run as microVMs; this document only covers the VMs that are left to move (currently the Windows VM).

Use aquamarine as an example, first build and upload the virtual machine's qcow2 image to the file server:

just upload-vm aquamarine

Then create the virtual machine by creating a yaml file at ryan4yin/k8s-gitops, set the spec.dataVolumeTemplates[0].source.http.url to the uploaded file's URL, and fluxcd will automatically apply the changes, then a virtual machine named aquamarine will be created in the VM cluster.

Once the virtual machine aquamarine is created, we can deploy updates to it with the following commands:

just col aquamarine
just col shoryu

# Set a configuration for the next boot instead of switching immediately
just col aquamarine boot

If you're not familiar with remote deployment, please read this tutorial first: Remote Deployment - NixOS & Flakes Book