How does microk8s single node vs multi-VM-nodes (on same machine)

Using microk8s 1.18.6, single node, Ubuntu 20.04, on a machine having 32GB and AMD FX-8320 (8 logical cores)

Some dev execises, such as a multinodes Cassandra cluster requires more pods than computing resources.

So far, it seems my single-node microk8s setup is able to provide the requested resource. I am just curious how microk8s manages to run many more pods than the available CPUs.

In the context of a single physical homelab server, is there a boundary somewhere when a multi-nodes (several KVM VMs) setup would be superior to a single node?

For now my current machine is pretty modest (32 GB, 8 logical cores). But if hardware resources is an issue it is possible to use a more powerful workstation with more cores and more RAM. But still a single physical machine.

There are both advantages and disadvantages in having a single node compared to multi-node.

Overall a multi node cluster involves more maintenance as you have more (virtual) machines to take care. In terms of performance running VMs is not as efficient compared to having all workloads running directly on the host machine.

There are however advantages in having a multi-VM-cluster. The VMs offer an extra level of isolation. You do not run the risk of installing something on the host that will hurt your networking. You also can apply good practices in cluster maintenance. For example, how would you update the underlying host if you run everything on it? In a multi node cluster you can drain a node upgrade it and then add it again to the kubernetes cluster.

It is a big topic and I am sure there is tons of information on the web.

2 Likes