A quick review of local kubernetes platforms

<< back

Just a quick comment this time around.

I was recently charged with testing a platform-based product that required a local kubernetes cluster to fully vet, as one of their preferred deployment strategies was via k8s containers. After a bit of exploration, I happened to wander across this article, and found it an excellent resource:

https://www.itprotoday.com/cloud-computing-and-edge-computing/lightweight-kubernetes-showdown-minikube-vs-k3s-vs-microk8s

I won't rehash the entire article for you here (although I'd recommend it, it's a good read), but I will share that after reading it, and reviewing the docs for k3s, the docs for microk8s, and the docs for minikube, I took minikube and microk8s for a test drive, and I landed on microk8s. Admittedly, I wasn't completely unbiased; my preferred work desktop enviroment is Ubuntu Linux, and I will own that this influences some of my decisions; and yes, microk8s is a Canonical product.

With that said, at least for my local testing scenario, microk8s was extremely intuitive, easy to script and deploy against, and allowed for me to get testing without having to massage the installation too much, which is sadly somewhat common with linux versions of tools. It behaves like a true standalone kubernetes cluster, which is pretty much exactly what you want when testing k8s deployments.

With that said, there are a few minor cons, as well (although I have a hard time classifying them as such): microk8s comes minimal out of the box, which is nice, but does require a bit of extra setup the first time, if you are the kind who want a graphical web interface to review your local cluster. There's a relatively straightforward set of instructions at https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s, at any rate, and I found it pretty thorough..

At any rate: as ever, this is a "right tool for the right job" scenario, and I will absolutely not take shots at minikube or k3s; they're both fine for what they are. With that said, microk8s gives you the most granular control, and when I'm testing workloads locally, that is absolutely something I want.

Thanks for reading!