I'm just getting started with Kubevirt and want to find a more standardized method for provisioning my virtual machines. I need some advice on efficiently managing VM images since the methods described in the documentation seem quite complex. For instance, I learned that you can't use a cloudinitdisk for two VMs at the same time, which complicates things.
2 Answers
One good approach is to use a shared base PersistentVolumeClaim (PVC) and create a new cloudinitdisk for each VM. This way, you can have a shared base image without running into the issue of concurrent access.
What exactly do you mean by that? I manage around 1000 VMs, each with its own cloudinitdisk without any issues.
I'm looking to create a stored image of a VM that has everything pre-installed so I can quickly provision new VMs from it. Initially, I used a DataVolume for cloudinit with Ubuntu, cloned that to a separate DataVolume, and set up a VM based on that. However, now I find I need an individual cloned cloudinit disk for each VM, and that’s just adding layers of complexity.
Yeah, that's exactly what I ended up doing! It seems like the simplest solution.