Zero-ops Kubernetes for workstations and edge / IoT

A single package of k8s for 42 flavours of Linux. Made for developers, and great for edge, IoT and appliances.

Certified Kubernetes

Canonical might have assembled the easiest way to provision a single node Kubernetes cluster

Kelsey Hightower

dear microk8s team: you are awesome. Microk8s has tangibly improved my life and my CI pipelines as a developer of k8s controllers

— in #microk8s
  • Conformant
  • Istio
  • Clustering
    BETA
  • Storage
  • Registry
  • GPGPU bindings
  • Dashboard
  • Metrics
  • Automatic Updates
  • Ingress
  • DNS
  • Linkerd, Fluentd
  • Knative
  • Kubeflow
  • Jaeger, Prometheu

Single node Kubernetes done right

The smallest, fastest fully-conformant Kubernetes that tracks upstream releases and makes clustering trivial. Use MicroK8s for offline development, prototyping, testing. Use it on a VM as a small, cheap, reliable k8s for CI/CD. Makes a great kubernetes for appliances. Develop IoT apps for k8s and deploy them to MicroK8s on your boxes.

Get started with MicroK8s

Reliable, fast, small, upstream.

  • Fast install

    Get a full Kubernetes system running in under 60 seconds.

  • Secure

    Runs safely on your laptop with state of the art isolation.

  • Upstream

    CNCF binaries delivered to your laptop, with updates and upgrades.

  • Complete

    Includes a docker registry so you can make containers, push them, and deploy them all on your laptop.

  • Featureful

    Cool things you probably want to try on a small, standard K8s are all built-in. Just enable them and go.

  • Updates

    Get the daily build if you want it, or betas and milestones, or just stable point releases.

  • Upgrades

    When a new major version comes out, upgrade with a single command (or automatically).

  • GPGPU Passthrough

    Give MicroK8s a GPGPU and your docker containers can get all nice and CUDA.

  • Small

    Use MicroK8s in your CI/CD pipelines and get on with your day without headaches.

Quick start

We recommend you use Ubuntu. On Mac or Windows, you can use Multipass to give yourself Ubuntu VMs on demand. To install the MicroK8s snap:

Running snap info microK8s shows the current published k8s versions. It is possible to select a specific version like 1.11 and get only stable or RC updates to that version. By default, you will get the current major version with upgrades when new major versions are published.

Useful tips

Start and stop kubernetes

Bring k8s up and take it down as needed to preserve battery life when you don’t need it running:


Turn on standard services

Enable and disable particular standard add-on services using the microk8s.enable and microk8s.disable commands. See the microk8s.enable --help for details.


Try a different version, or a beta or a daily build

Snaps are published in channels which are made up of a track (or major version), and an expected level of stability. Try snap info microk8s to see what versions are currently published. For example:

channels:
  stable:         v1.13.0  (340) 204MB classic
  candidate:      v1.13.1  (354) 229MB classic
  beta:           v1.13.1  (354) 229MB classic
  edge:           v1.13.1  (354) 229MB classic
  1.13/stable:    v1.13.0  (340) 204MB classic
  1.13/candidate: v1.13.1  (356) 229MB classic
  1.13/beta:      v1.13.1  (356) 229MB classic
  1.13/edge:      v1.13.1  (356) 229MB classic
  1.12/stable:    v1.12.3  (336) 226MB classic
  1.12/candidate: v1.12.4  (362) 251MB classic
  1.12/beta:      v1.12.4  (362) 251MB classic
  1.12/edge:      v1.12.4  (362) 251MB classic
  1.11/stable:    v1.11.5  (322) 219MB classic
  1.11/candidate: v1.11.6  (361) 245MB classic
  1.11/beta:      v1.11.6  (361) 245MB classic
  1.11/edge:      v1.11.6  (361) 245MB classic
  1.10/stable:    v1.10.11 (321) 175MB classic
  1.10/candidate: v1.10.11 (321) 175MB classic
  1.10/beta:      v1.10.11 (321) 175MB classic
  1.10/edge:      v1.10.12 (364) 200MB classic

You can snap refresh --channel=latest/beta microk8s or snap refresh --channel=1.11/stable microk8s and get the expected result.

Working with MicroK8s

Or dive right into the docs.