1

My homelab environment is primarily git repo->puppet apply->centos7 hardware running kvm or guests. Simple tooling but it works.

I'm doing a lot more terraform at work these days and have been thinking about refreshing my homelab with an ansible/terraform pattern but I've been looking at my OS base for the KVM hosts and wondering if there is a better way.

So, the question......

Is anyone aware of a unix OS pattern that's PXE booting, immutable, container friendly and usable as a basic KVM host?

Something like CoreOS/Flatcar but for KVM guests instead of just containers. Ideally with config data from cloud-init and something like vault.

Thanks!

3
  • My understanding of "immutable" is "unchangeable". I'm not sure how you can have a VM Host that's immutable - for example, how would it keep track of VM configurations and their disk allocations? Are you thinking of a different meaning of the word? Commented Oct 3, 2022 at 8:13
  • @roaima If the VM host used some external database or similar for all its configuration, then such a thing might be conceptually possible, but I don’t know of any actual implementation that would satisfy that requirement, as the configuration database would easily become a severe Single Point of Failure. Commented Oct 3, 2022 at 11:02
  • I'm thinking about CoreOS/Flatcar where the host is immutable and config data is ingested via cloud-init or vault or other mechanisms. The work we care about is the guest so why spend time performing admin functions against the host. Commented Oct 4, 2022 at 23:41

1 Answer 1

0

Immutable does not mean static. For example, I'm using Flatcar to run my kubernetes clusters. There's configuration files that are placed on the nodes. It's just the OS itself that is immutable, not the whole filesystem. In this case, as /usr is immutable, files will placed somewhere else, like into /opt.

Config data is most of the time ingested by cloud-init (rather ignition in this case), not because the OS is immutable but rather because you want to centralize the configuration location. cloud-init or ignition stil write on the filesystem in locations where it's permitted, like /etc for example.

1
  • Flatcar seems to be as close as I can find. Balena-Cloud gets an honorable mention as well. I'm always a little surprised that people playing with k8s or flatcar patterns do it on proxmox or something like that instead of there being a IaC layer for the bare metal. I used to hang out with some openstack on openstack guys who were asking the same questions and equally surprised by the lack of community interest. Commented Apr 29, 2023 at 23:35

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.