MicroK8s in the Wild

Konstantinos Tsakalozos

Konstantinos Tsakalozos

on 28 March 2019

MicroK8s in the wild

Canonical released MicroK8s in December 2018, and as its popularity has grown, some interesting projects using this micro Kubernetes distribution have surfaced.

To begin with a little background, Kubernetes is an open source container orchestrator that assists with deploying, upgrading and provisioning applications. Kubernetes is unique in that all the major players – Google, Microsoft, IBM, Amazon, etc. – have embraced a single framework, making it an unofficial standard.

MicroK8s is a snap package distribution of Kubernetes that sets up a cluster on your machine. Kubernetes clusters are commonly used for local development and CI/CD, and all it takes to get started is:

sudo snap install microk8s --classic

Please note that if you are on a Mac or Windows you will need a Linux VM.

MicroK8s is now being used for a wide variety of projects, enabling the development of serverless frameworks, reclaiming unused memory, AI/ML and many other interesting use cases covered in the highlights below. Please note that this is not a complete list of MicroK8s use cases, simply a few projects I am aware of.

Spring Cloud Kubernetes

This project, introduced in this Pull Request, uses CircleCI for CI/CD, facilitating the running of Spring Cloud and Spring Boot applications inside Kubernetes.

In this use case, K8s provides a local Kubernetes cluster for integration testing using the kubeconfig file and the socket to dockerd. The addons enabled are DNS, the Docker registry and Istio.

Incentivised by this project, the microk8s.status command was added in order to wait for the cluster to come online. As an example, you can wait up to five minutes for MicroK8s to come up with:

microk8s.status --wait-ready --timeout=300

OpenFaaS on MicroK8s

The mission of the OpenFaas® project is to make serverless functions simple using portable Docker containers to run on any cloud, avoiding lock-in and infrastructure complexity.

With this project, the MicroK8s supplied registry add-on can be used when deploying OpenFaaS, proving a fast and easy K8s deployment.

I learned about this use case from John McCabe, whom I met at Configuration Management Camp, who “was blown away by the speed and ease with which I could get a basic lab environment up and running,” a quote from his blog post on the topic – “Deploy OpenFaaS with MicroK8s.”

Serverless Solutions with MicroK8s and Kubeless

The ease of deployment provides a good base for quick development of serverless frameworks, as several users have shared insight on using Kubeless solution on Kubernetes.

In one user’s test using these tools, the serverless platform was up and running in five minutes on their laptop following simple install and configuration steps.

Learn more about these projects here:

SUSE Cloud Application Platform (CAP) on Microk8s

In order to run components of SUSE Cloud Application Platform (CAP), Dimitris Karakasilis was looking to use Kubernetes for local development and decided to give MicroK8s a try.

“The idea was very appealing to me because they use your machine’s resources without you having to decide on a VM size beforehand,” Karakasilis said in his blog post on this topic.

He further explained to me that his application was putting significant pressure on memory only during bootstrap, whereas with MicroK8s he was able to reclaim the unused memory after the initialization phase.

Kubeflow

Kubeflow is the missing link between Kubernetes and AI/ML as it provides an easy, flexible and scalable way to deploy machine learning (ML) workflows on Kubernetes.

With MicroK8s, you can quickly run Kubeflow locally with all of its default core components. This use case can help with cluster set up, ensuring the machines deploying Tensorflow, for example, are aligned.T

Summary

We have seen a number of interesting use cases that include CI/CD, Serverless programming, lab setup and application development. If you have an interesting use case, please share it with us in #microk8s on the Kubernetes slack and/or issue a Pull Request against our MicroK8s In The Wild page.

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Newsletter signup

Select topics you’re interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Open infrastructure, developer desktop and IoT are the focus for Ubuntu 19.04

18th April, 2019: Canonical today announced the release of Ubuntu 19.04, focused on open infrastructure deployments, the developer desktop, IoT, and cloud to edge software distribution. “The open-source-first on Ubuntu movement in telco,…

Kubernetes 1.14 now available from Canonical

March 25, 2019 Canonical announces full enterprise support for Kubernetes 1.14 using kubeadm deployments, its Charmed Kubernetes, and MicroK8s, its popular single-node deployment of Kubernetes. MicroK8s provides Kubernetes 1.14 on any…

How to quickly deploy production-ready Kubernetes

Kubernetes, the flexible software that coordinates containers, runs on a range of platforms, from public to private cloud, data centers, bare metal and virtualised infrastructure, and requires a number of considerations for design and…