Forget Minikube, try MicroK8s

Kubernetes microk8s

Minikube is very popular and the most known Kubernetes version for local software development. It runs inside a virtual machine like VirtualBox and allows developers to run Kubernetes applications locally. As Docker runs natively just on Linux, you may wonder why do we need virtual machine on Linux? Well, not anymore.

Mac users have no other way of running Docker except in a virtual machine, hidden or visible. However, Linux users should be able to run Docker and Kubernetes over it just on the bare metal. Minikube has possibility to run on Linux without a virtual machine, but as it installs locally in that case, different configuration files get spread over the host system and this is pretty much messy, actually not much different than installing Kubernetes using kubeadm . Fortunatelly, MicroK8s comes as help.

Thanks to snapd , light Linux virtualization layer available on Ubuntu and derivative operating system, you may now install MicroK8s using snap simply by running the following command:

sudo snap install microk8s --classic

To configure kubectl to use this “cluster”, you can just run:

microk8s.config >~/.kube/config

To start and stop microk8s, just type:

sudo microk8s.stop
sudo microk8s.start

Well, good news for Ubuntu users, but what about Mac? Guess what, there is actually Mac version as well. Still runing in a virtual machine, but at least this virtual machine is lighter than VirtualBox. To install the Multipass on Mac, just download the latest *-Darwin.pkg from here . After that, run the following commands:

multipass launch --name microk8s --mem 4G --disk 40G
multipass exec microk8s -- sudo snap install microk8s --classic
multipass exec microk8s -- sudo iptables -P FORWARD ACCEPT

You can find more usable multipass commands here .

Besides basic Kubernetes functionality, MicroK8s provides several addons:


You can simply enable some of them using microk8s.enable.


microk8s.enable dns dashboard


multipass exec microk8s-vm -- /snap/bin/microk8s.enable dns dashboard

That’s all Kubernatus, happy cube-kuttling.

Automated MySQL MariaDB tables optimization in Kubernetes

Cronjob based automated optimization of MariaDB or MySQL tables on Kubernetes
Kubernetes MariaDB MySQL optimization schedule

A first impression of Rust from the perspective of a Go developer

Rust is very powerful, but let's see how it compares to Go
Go Rust Kubernetes controller secret replicator

Develop Kubernetes native applications in Golang with auto-recompile and auto-restart

Learn how to have automatic recompile and restart of your Go project running on Kubernetes
Kubernetes Go Golang development controller operator native application autorecompile autorestart