k0s

https://github.com/k0sproject/k0s

k0s fits well in any cloud environment, but can also be used in IoT gateways, Edge and Bare metal deployments due to its simple design, flexible deployment options and modest system requirements.

  • Modest system requirements (1 vCPU, 1 GB RAM)
  • Available as a single binary with no external runtime dependencies besides the kernel
    • internal registry for storing container images
  • Supports x86-64, ARM64 and ARMv7

.gif demo demo

MicroK8s

The smallest, fastest Kubernetes https://github.com/canonical/microk8s

  • I just noticed it’s from canonical, hehe

Single-package fully conformant lightweight Kubernetes that works on 42 flavours of Linux. Perfect for:

  • Developer workstations
  • IoT
  • Edge
  • CI/CD

Features

  • more linux oriented, or ubuntu focused
  • supporting snap install snap install microk8s --classic
  • internal registry for storing container images

Kind

https://github.com/kubernetes-sigs/kind

kind (Kubernetes in Docker) is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

using Docker container “nodes”

k3s / k3d

k3s https://github.com/k3s-io/k3s

  • k3d is a utility that manages k3s nodes running in a Docker container. It runs in Linux and can be installed using a Bash script.
  • k3d https://github.com/k3d-io/k3d

The general idea of it is not much different from k0s and MicroK8s. Upon launching, k3s creates a cluster node with one of the following two roles:

  • a server running as a master server: an API server, scheduler, and controller manager (with an SQLite database);
  • an agent running an ordinary Kubernetes node: a kubelet and containerd that manages CRI-O containers.

Minikube

https://github.com/kubernetes/minikube

  • supporting macOS, Linux, and Windows
  • for linux, more focused on Debian and Red Hat-based Linux

Summary

The comparison was carried out within the context of a particular task (a locally running sandbox), but some of the distributions above are designed for niche use scenarios.

For example, MicroK8s by Canonical, and K3s by Rancher are targeted at IoT and edge computing.

I should therefore reiterate that the final selection will largely depend on the task at hand, resource considerations, and network infrastructure requirements.

References