This isn’t Rancher’s first operating system – the company started offering RancherOS, a Linux distribution optimised for running Docker in production, back in 2015. k3OS however is purpose-built for k3s and meant to provide its users with a stable, fast, and secure environment for running container clusters in restricted environments.
k3s triggered quite a bit of interest, if GitHub stars can be used as an indicator. How much though was a surprise even to its creators, as Rancher CEO Sheng Liang told DevClass on the phone: “We didn’t really think there would be that much interest in another Kubernetes distro anymore.”
With Kubernetes being notoriously hard to get started with, Liang is sure that ease of use is one of the main reasons the distribution captured users’ imaginations, not only for edge, but data center and bare-metal use cases as well.
“It is put together in a very low maintenance way,” Liang said. “You can run Kubernetes in a very hands-off situation. You don’t have to think too much about operating it.” The tendency to become caught up in aspects of operations, however, sparked the idea to set up k3OS.
“A lot of Rancher users tend to create infrastructure in the form of virtual or physical machines, they put an operating system on these servers, and then they install Kubernetes. And after that, what tends to happen is, that they would operate and manage Kubernetes, and then the management of the operating system sometimes either got neglected or the two are owned by a different team altogether, so it’s difficult to coordinate [patching schedules].”
Combining the Kubernetes distribution with the OS one in k3OS is meant to help with that, while also quenching every organisation’s thirst for security. As Liang explains, “Let’s say the OS has to be patched, that patch actually goes through Kubernetes to make it happen. That way Kubernetes would orchestrate the patching process, it would go through the workers, go through the master nodes, it would make sure that the pods are evacuated if necessary. It’s a much more orderly process, it leads to much simpler operation practices, and also a more secure deployment.”
The project is based on the Ubuntu kernel and supports x86_64 architectures as well as ARM64. Application layer functionalities are expected to be loaded as containers, which is why k3OS doesn’t have a package manager in the traditional sense. Basic system services such as bash and ssh are however built into the image, keeping the distribution itself comparabilly small.
k3OS is said to boot in 5 seconds, during which k3s is automatically configured via cloud-init. The Apache-2-licensed project is still in preview at this point, but a production-ready version is planned for later this year. On the preliminary roadmap there’s better integration with Rancher itself, but since it’s an open source project the next steps will be mostly feedback-driven.