Kubernetes for IoT gets lighter than ever with k3s
Kubernetes is looking lighter than air with this extremely lightweight distribution. k3s boasts an absolutely tiny binary, weighing in at less than 40 MB. Plus, you only need 512 MB of RAM to run it, making this a perfect distribution for Edge, IoT, or ARM computing!
The growth of IoT and Edge computing has led to a lot of issues: namely, how do we reign in the footprint of our various tools and technologies? The radical increase in processing power has led to a serious bloat for a lot of distributions; sometimes you need to just trim the fat. That’s where k3s comes in.
k3s is a fully compliant, production-grade Kubernetes distribution that maintains an absolutely tiny footprint. Weighing in at less than 40 MB, it only needs 512 MB of RAM to run. This means it’s perfect for all kinds of computing that requires a minimal about of memory and space.
Light as a feather
k3s is designed for Edge computing, IoT, CI, and ARM. Even if you’re working with something as small as a Raspberry Pi, k3s allows developers to utilize Kubernetes for production workloads. It simplifies operations, reducing the dependencies and steps needed to run a production Kubernetes cluster.
Installation is a breeze, considering that k3s is packaged as a single binary with less than 40 MB. However, security isn’t an afterthought, since TLS certificates are generated by default to make sure that all communication is secure by default.
So, how does k3s manage to get rid of all that excess weight? Well, it does have to make some cuts here and there. It removed all legacy, alpha, and non-default features. To be fair, many of these features aren’t available on Kubernetes clusters, but this is a thing to watch out for.
As for storage, k3s gets rid of in-tree cloud providers and storage drivers to make extra space. With the in-tree storage gone, sqlite3 is the default storage manager. Developers can choose to utilize etcd3, but it’s not the default.
Although k3s does get rid of most dependencies, it does rely on some to work, including containerd, Flannel, CoreDNS, CNI, and basic host utilities.
Want to try out this lightweight Kubernetes distribution for yourself? It’s really quite simple: download the latest release and then run the server. Voila! That’s it. More information is available on GitHub here.
However, k3s does have some minimum system requirements. This is only available for Linux users currently, with Linux 3.10+. As for memory, you’ll need 512 MB of ram per server, 75 MB of ram per node, and 200 MB of disk space. Plus, you need x86_64, ARMv7, and ARM64.