Create VM on bare metal or install microk8s directly

I have one bare metal server with 64 gb ram and 16 core processor.

Should i create 4 vm’s and install microk8s on the server for HA or leave only one microk8s directly installed on bare metal instead of VM for production deployment of my startup?

Also how do I use secondary disk instead of primary OS disk for microk8s storage of kubernetes data?


Running directly on bare metal saves resource. Probably less of a physical breakdown risk if less things are running on that one machine. The hypervisor would also introduce additional latency.

Why not add 2 less powerful cheap machines to your LAN simply to gain HA?

I shared my 3 bare metal boxes setup here: Cluster · GitLab, and the initial Ubuntu bare metal provisioning setup here: Compute · GitLab - might be of inspiration if you want to go this route. What I have is not yet production ready, so YMMV.

I would also add, if you’re doing a startup, presumably shipping code is of utmost importance. I’d just GKE whatever you need until you get revenue and have time to kill because you’re swimming in cash :slight_smile:

You can mount /var/snap to a different partition or device. That should be good.