Kubevirt Part 1
Recently have come to the need of having to run a virtual machine as a part of the k8s cluster.
My main storage was a solaris ZFS raidz2 that has served me well for a long time now. The machine I had originally hosted it on was out of commission so used an old optiplex desktop for a while. The problem with this was that all the drives were just strewn about and it was quite haphazard. Picked up an Asus 4x4 box as this seemed to be a good hardware fit with the rest of my cluster and it has ECC ram. When booting solaris onto it from the live cd it refused to start with some tty error. Its not happy about the something in the bios (probably the fact that its uefi). So to use the new hardware and still access the data will need to run a VM on this machine. And what better way to manage that than via kubevirt!
Setup
Installing the kubevirt operator via terraform wasnt terrible but they dont provide a helm chart so had to fall back to caching they yaml based distribution with kustomization
/kubernetes_manfest
pattern.
Upon installing notice that the operator installs more CRDs. Really dont like operators that do this, would much rather have full control over CRD lifecycle.
Once the operator is installed a KubeVirt
instance needs to be created. This is done via terraform kubernetes_manifest
. It does need to be inside the kubevirt operator namespace which is a bit annoying. Another odd thing is that the default affinities
attempts to pin it onto control plane nodes. This was mainly an issue for me because the labels it expected to exist didnt on my cluster.