Using microk8s to deploy Kubernetes on resource constrained local servers


Hey Guys, I was wondering is it a bad idea to deploy microk8s on local servers(resources constrained)?
Because I found out microk8s on Linux is still more mem efficiency than minikube with vm driver=none.

I noted that there are repeated statements that microk8s is for “develpoment only” is it written in stone or later versions might be deployment friendlier?



Hi @Tom2,

The focus of MicroK8s is mostly on the developer’s workstation, but MicroK8s is also proven to be a good fit for CI/CD and IoT devices. Depending on what you mean by “local servers” MicroK8s may or may not be a good fit. Here are some points you should be aware of:

  • With release v1.14 we hardened the security model around MicroK8s. Make sure you go through the open ports exposed to the default host interface.

  • Depending on the stability you look for your cluster you may want to follow the 1.14/stable channel (snap install microk8s --classic --channel=1.14/sable). If you do not specify a channel you will be getting the latest stable upstream Kubernetes and this may cause problems when the v1.15 comes out. We try to do our best to maintain backwards compatibility but this is not always possible.

  • Finally, as Canonical ships MicroK8s, you are able to ask for official support. This may be of interest to you if you want to have a strategy towards a production setup.

Disclaimer in case you haven’t noticed, I am biased towards MicroK8s :slight_smile:.




Thanks Jackal, for you kind inputs, An IoT device is exactly what I am trying to build right now. Mem and device power consumption are my constrains to deliver containerized applications.
Can I say that it is pretty safe to deploy Microk8s in a controlled environment, i.e. limited client access, network etc.?



Yes, you should be fine.



Thanks Jackal, you guys are too modest in advocating Microk8s :grinning: