explaingit

canonical/microk8s

9,283PythonAudience · ops devopsComplexity · 3/5Setup · easy

TLDR

A lightweight Kubernetes distribution from Canonical that installs with a single Snap command on laptops, edge devices, and servers, with optional add-ons for monitoring, networking, and GPU workloads.

Mindmap

mindmap
  root((repo))
    What it does
      Lightweight Kubernetes
      Single command install
      Certified conformant
    Add-ons
      Dashboard monitoring
      Prometheus Grafana
      GPU support
      Istio Linkerd
    Platforms
      Laptop workstation
      IoT edge device
      Ubuntu Snap-based
    Operations
      Enable disable addons
      Pin K8s version
      Built-in kubectl
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a full Kubernetes cluster on your laptop for local development without cloud costs.

USE CASE 2

Deploy Kubernetes on a Raspberry Pi or IoT edge device with a single install command.

USE CASE 3

Test Kubernetes add-ons like Prometheus, Istio, or Linkerd locally before deploying to a cloud cluster.

USE CASE 4

Set up a GPU-enabled Kubernetes node for running machine learning workloads locally.

Tech stack

PythonKubernetesSnap

Getting it running

Difficulty · easy Time to first run · 30min

Requires Ubuntu or a Snap-compatible Linux distro, macOS and Windows require running MicroK8s inside a virtual machine.

In plain English

MicroK8s is a lightweight version of Kubernetes, the system that large companies use to run and manage software applications across many servers. Kubernetes is normally complex to install and operate, but MicroK8s packages everything into a single installable unit that runs on a laptop, a developer workstation, a small IoT device, or an edge server. It is made by Canonical, the company behind the Ubuntu Linux distribution. Installation is a single command using the Snap package manager, which is the standard way to install software on Ubuntu and many other Linux distributions. Once installed, MicroK8s provides a built-in version of kubectl, which is the command-line tool used to interact with Kubernetes. It also creates a user group so that you can run commands without needing administrator privileges each time. Out of the box, MicroK8s is a minimal Kubernetes cluster. Optional components can be turned on one at a time using the enable command. The available add-ons include a web dashboard for viewing what is running, DNS for internal name resolution, monitoring tools (Prometheus and Grafana), networking tools (Istio and Linkerd), and GPU support for machine learning workloads. A full list of available and currently enabled add-ons is visible with the status command. The project tracks Kubernetes releases closely, publishing beta, release candidate, and final builds on the same day as the upstream Kubernetes project. You can stay on the latest version or pin to any specific version from 1.10 onward. It is certified as a conformant Kubernetes implementation, meaning applications built for major cloud-managed Kubernetes services like Amazon EKS or Google GKE should also work on MicroK8s. It is free and open source, with official documentation maintained separately at microk8s.io.

Copy-paste prompts

Prompt 1
Show me how to install MicroK8s on Ubuntu, enable the DNS and dashboard add-ons, and deploy a simple Nginx web app.
Prompt 2
How do I enable GPU support in MicroK8s to run a PyTorch training job in a Kubernetes pod locally?
Prompt 3
How do I pin MicroK8s to Kubernetes version 1.28 and later upgrade it to 1.29?
Prompt 4
Set up MicroK8s with Prometheus and Grafana monitoring and access the Grafana dashboard from my browser.
Prompt 5
How do I configure MicroK8s so I can run kubectl commands without sudo?
Open on GitHub → Explain another repo

← canonical on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.