Topics

Featured in Development

Peter Alvaro talks about the reasons one should engage in language design and why many of us would (or should) do something so perverse as to design a language that no one will ever use. He shares some of the extreme and sometimes obnoxious opinions that guided his design process.

Featured in AI, ML & Data Engineering

Today on The InfoQ Podcast, Wes talks with Katharine Jarmul about privacy and fairness in machine learning algorithms. Jarul discusses what’s meant by Ethical Machine Learning and some things to consider when working towards achieving fairness. Jarmul is the co-founder at KIProtect a machine learning security and privacy firm based in Germany and is one of the three keynote speakers at QCon.ai.

Featured in Culture & Methods

Organizations struggle to scale their agility. While every organization is different, common patterns explain the major challenges that most organizations face: organizational design, trying to copy others, “one-size-fits-all” scaling, scaling in siloes, and neglecting engineering practices. This article explains why, what to do about it, and how the three leading scaling frameworks compare.

Rancher Labs has announced a new open source project, k3s, which is a lightweight Kubernetes distribution that has been optimised towards running within resource-constrained environments, such as edge or IoT locations, or within telco and manufacturing systems.

Darren Shepherd, co-founder and chief architect at Rancher Labs, stated in the k3s launch blog post that then new orchestration framework was created for running at the (network) edge, for example on ARM chips and IoT platforms, and for use within continuous integration systems where there is a requirement to minimise the speed of cluster initialisation and tear down. The name "k3s" is a play on the popular shortening of the word Kubernetes to "k8s", and the k3s GitHub repository states that the project is "5 less than k8s".

The work for k3s started as a component of Rio, an experimental Rancher Labs' "user oriented end-to-end container solution" that began last year. Although Rio is only available in early preview, an outline of the features and tooling is provided in the project's GitHub repo, and this currently includes a container runtime, orchestration, networking, a service mesh, monitoring and several other components. Shepherd states that the Rancher Labs team started "seeing real demand for Kubernetes on the edge and a growing interest in k3s itself, so we decided to pull [k3s] out of Rio and make it a first-class open source project."

k3s is packaged as a single binary that is approximately 40 MB in size, and the project website states that the orchestrator requires only 512 MB of RAM to execute. The single binary includes "everything needed to run Kubernetes, including a container runtime and any important host utilities like iptables, socat, and du".

k3s bundles the core Kubernetes components -- kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy -- into combined processes that are presented as "a simple server and agent model". Running k3s will start the Kubernetes server and automatically register the local host as an agent. This will create a one node Kubernetes cluster, and other nodes can easily be added via the CLI.

The default k3s package also runs the container runtime containerd, networking overlay implementation Flannel, DNS support via CoreDNS, the Traefik ingress controller, and a simple host port based service load balancer. Shepherd states that all of these components are optional and "can be swapped out for your implementation of choice". The inclusion of these components enables an operator to deploy a "fully functional and CNCF conformant cluster so you can start running apps right away".

Several commenters on Hacker News were initially skeptical of the creation of another Kubernetes distribution, as they believed this could lead to differing features and fragmentation within the Kubernetes ecosystem. However, several replies (including one from Dan Kohn, executive eirector of the CNCF) and a follow up Rancher Labs blog post confirmed that k3s is a certified Kubernetes distribution, which means that all Kubernetes workloads should be portable across this and other certified distributions.

It's obviously not the first project to attempt to put Kubernetes on small devices, but k3s is the first one to be designed for production environments and is fully certified by the CNCF.

k3s is available for x86_64, ARMv7 and ARM64 at https://k3s.io today. Ben Hall and Sebastiaan van Steenis have created Katacoda tutorials for operators looking to experiment with the orchestrator without installing anything locally.