MicroK8s
The smallest, fastest Kubernetes
Single-package fully conformant lightweight Kubernetes that works on 42 flavours of Linux. Perfect for:
- Developer workstations
- IoT
- Edge
- CI/CD
Canonical might have assembled the easiest way to provision a single node Kubernetes cluster - Kelsey Hightower
Why MicroK8s?
-
Small. Developers want the smallest K8s for laptop and workstation development. MicroK8s provides a standalone K8s compatible with Azure AKS, Amazon EKS, Google GKE when you run it on Ubuntu.
-
Simple. Minimize administration and operations with a single-package install that has no moving parts for simplicity and certainty. All dependencies and batteries included.
-
Secure. Updates are available for all security issues and can be applied immediately or scheduled to suit your maintenance cycle.
-
Current. MicroK8s tracks upstream and releases beta, RC and final bits the same day as upstream K8s. You can track latest K8s or stick to any release version from 1.10 onwards.
-
Comprehensive. MicroK8s includes a curated collection of manifests for common K8s capabilities and services:
- Service Mesh: Istio, Linkerd
- Serverless: Knative
- Monitoring: Fluentd, Prometheus, Grafana, Metrics
- Ingress, DNS, Dashboard, Clustering
- Automatic updates to the latest Kubernetes version
- GPGPU bindings for AI/ML
- Kubeflow!
Drop us a line at MicroK8s in the Wild if you are doing something fun with MicroK8s!
Quickstart
Install MicroK8s with:
snap install microk8s --classic
MicroK8s includes a microk8s kubectl
command:
sudo microk8s kubectl get nodes
sudo microk8s kubectl get services
To use MicroK8s with your existing kubectl:
sudo microk8s kubectl config view --raw > $HOME/.kube/config
User access without sudo
The microk8s user group is created during the snap installation. Users in that group are granted access to microk8s
commands. To add a user to that group:
sudo usermod -a -G microk8s <username>
Kubernetes add-ons
MicroK8s installs a barebones upstream Kubernetes. Additional services like dns and the Kubernetes dashboard can be enabled using the microk8s enable
command.
sudo microk8s enable dns dashboard
Use microk8s status
to see a list of enabled and available addons. You can find the addon manifests and/or scripts under ${SNAP}/actions/
, with ${SNAP}
pointing by default to /snap/microk8s/current
.
Documentation
The official docs are maintained in the Kubernetes upstream Discourse.
Take a look at the build instructions if you want to contribute to MicroK8s.