1. Overview
In this tutorial, we’ll learn about the different lightweight distributions of Kubernetes.
Multiple use cases can be solved using these lightweight versions. We can use them to run the Kubernetes cluster on our local machine, test our changes, run CI pipelines, and use them in IoT and Edge devices.
2. MiniKube
MiniKube is the most used local Kubernetes cluster. It uses a VM, and we can do manual configurations easily according to our needs, like memory and storage. Moreover, it gives full control of the system.
The startup time is a bit slow and uses more resources than other distributions. It can only be used with a single node cluster.
3. MicroK8S
MicroK8S is a CNCF-certified open-source distribution developed by Canonical. It’s a fully compliant Kubernetes distribution with a small CPU and Memory footprint. It gives low access to the system for custom configuration.
It’s optimized for quick and easy installation of single or multi-node clusters on various operating systems. It can be used for local development, CI pipelines, or IoT devices.
4. Kind
Kind (Kubernetes in Docker) is a CNCF-certified open-source Kubernetes installer. It’s primarily a testing tool for Kubernetes.
We can also use it to run Kubernetes clusters locally and in CI pipelines. It uses Docker containers as a node. It has the fastest startup time.
5. K3S
K3S is a CNCF-certified open-source lightweight container runtime. It’s maintained by Rancher Labs. It can be easily installed as a multi-node cluster with very less configuration.
Most legacy components, optional drivers, and plugins are unavailable in K3S. We can use it for local development, CI pipelines, or IoT devices. It configures everything automatically; doing custom configuration is difficult and requires good system knowledge.
6. K3D
K3D is a lightweight wrapper around K3S to run it in Docker. It makes the K3S cluster very easy to install and run on Docker. We can easily start single or multi-node K3S clusters using K3D.
7. Comparison
Let’s now summarize all the distributions with pros and cons:
Distribution | Pros | Cons |
---|---|---|
Minikube | Easy to do manual configurations
Gives more access to the system The most widely used and the oldest distro |
Only single-node cluster Hard to set up Uses more resources |
MicroK8S | Easy to setup
Uses fewer resources Good release cycle; stays up to date with Kubernetes releases Can be set up as a multi-node cluster |
Can’t be installed on machines with ARM32 CPUs
Doesn’t give much access to the system Making custom configuration changes is very difficult |
Kind | Very easy to install
Uses fewer resources Easily accessible using docker commands Containers are considered nodes |
Hard to set up with other distros than Docker
Making manual configuration changes is difficult |
K3S | Very easy to setup
Uses fewer resources Allows multi-node cluster setup |
Can make unwanted network changes while auto-configuration during setup
Manual configuration changes are difficult |
8. Conclusion
In this article, we’ve learned about different lightweight distributions of Kubernetes and when we can use them. There is no silver bullet that’ll solve all our problems. We need to analyze our requirements and make an informed decision.