Install MicroK8s on Windows

Overview

What is Kubernetes

Kubernetes clusters host containerised applications in a reliable and scalable way. Having DevOps in mind, Kubernetes makes maintenance tasks such as upgrades dead simple.

What is MicroK8s

MicroK8s is a CNCF certified upstream Kubernetes deployment that runs entirely on your workstation or edge device. Being a snap it runs all Kubernetes services natively (i.e. no virtual machines) while packing the entire set of libraries and binaries needed. Installation is limited by how fast you can download a couple of hundred megabytes and the removal of MicroK8s leaves nothing behind.

In this tutorial you’ll learn how to…

  • Install MicroK8s on Windows
  • Operate your Kubernetes cluster
  • Access the Kubernetes Dashboard

You will only need …

  • A Windows 10 machine with at least 8GB of RAM and 40GB storage
  • If you have Windows 10 Home edition, you will also need to install [VirtualBox][] (Windows 10 Professional, Enterprise and Student editions include Hyper-v for virtualisation).

Installation

Duration: 5:00

MicroK8s has a Windows installer that will take care of setting up the software for you.
Download the latest installer here.

installer image
The installer checks if Hyper-V is available and switched on. If you don’t have Hyper-v (e.g. on Windows 10 Home edition) it is possible to use [VirtualBox][] as an alternative.

Configuring MicroK8s

Duration: 2:00

configure image
You can now configure MicroK8s - the minimum recommendations are already filled in.
For information on changing the ‘Snap Track’, see the MicroK8s docs.
You can change this configuration at a later date by re-running the installer. Note that the Memory and Disk limits are initially set at the minimum values. If you are planning on running large workloads (e.g. kubeflow will require around 12GB RAM) you will want to set these higher.

Open a command line to check on progress

Duration: 2:00

Run PowerShell or cmd to get a command line.

command line image

Now you can check to see when MicroK8s is up and running:

microk8s status --wait-ready

Turn on the services you want

Duration: 2:00

MicroK8s includes a series of add-ons and services which can be enabled at any time. For example:

microk8s enable dashboard dns registry istio

Try running microk8s enable --help for a list of built-in services.
Turn off services with the microk8s disable command.

Start using Kubernetes!

Duration: 2:00

MicroK8s wraps the kubectl command familiar to Kubernetes users, so you can simply perform any usual Kubernetes operation. Try:

microk8s kubectl get all --all-namespaces

Access the Kubernetes dashboard

On the command line, run the command:

microk8s dashboard-proxy

###Start and stop Kubernetes

Kubernetes is a collection of system services that talk to each other all the time. If you don’t need them running in the background then you will save battery and resources by stopping them. microk8s start and microk8s stop will do the work for you.

What next?

This needs a minor update as the recommended multipass instructions have changed

1 Like

@evilnick I have upgraded your permissions to be able to edit now.

Unless I’m missing something, the text says that the app will show up at http://localhost:32648 but the screenshot shows an xip.io address?

Great tutorial, btw, thanks

Am I correct in assuming these instructions will NOT work when using the vbox driver (e.g., when on Windows 10 Home)? If so, is there any chance to get the docs updated to warn about this, so people don’t end up wasting time on something that can’t work and getting frustrated and annoyed with the tools?

On my windows install I was only to get these instructions to work when running the /snap/bin/microk8s.kubectl as sudo. The IP addresses in the example after testing the add-ons also point back to localhost but should be the master IP obtained in the multipass list command.

The tutorial has now been updated to use the new installer, so things should be more straightforward now.