Rancher Labs Introduces Lightweight Distribution of Kubernetes to Simplify Operations in Low-Resource Computing Environments
February 26, 2019Rancher Labs, a leading provider of container management software, today announced K3s, a lightweight Kubernetes distribution designed for developers and operators looking for a way to run Kubernetes in resource-constrained environments. Rancher Labs launched the project to address the increasing demand for small, easy to manage Kubernetes clusters running on x86, ARM64 and ARMv7 processors in edge computing environments.
“Existing Kubernetes distributions are often memory intensive and overly complex for edge computing environments,” said Sheng Liang, CEO and co-founder of Rancher Labs. “In the last year we’ve worked with dozens of teams who see Kubernetes as an ideal platform for managing edge infrastructure but have been reluctant to commit a large portion of resources in their edge devices to run a full-fledged Kubernetes platform. With K3s, we can provide these teams with a distribution of Kubernetes that requires less than 512 MB of RAM, and is ideally suited for edge use cases. We see significant demand for K3s among organizations in the retail, finance, telco, utility and manufacturing sectors.”
How K3s reduces the size of Kubernetes
To reduce the memory required to run Kubernetes, the engineering team at Rancher Labs developing K3s focused on four primary changes:
- Removing old and non-essential code: K3s does not include any alpha functionality that is disabled by default or old features that have been deprecated, such as old API groups, which are still shipped in a standard deployment. Rancher also removed all non-default admission controllers, in-tree cloud providers, and storage drivers, opting instead to allow users to add in any drivers they need.
- Consolidating the packaging of running processes: To conserve RAM, Rancher combined the processes that typically run on a Kubernetes management server into a single process. Rancher has also combined the Kubelet, kubeproxy and flannel agent processes that run on a worker node into a single process.
- Using containerd instead of Docker as the runtime container engine: By substituting containerd for Docker, Rancher was able to cut the runtime footprint significantly, removing functionality like libnetwork, swarm, Docker storage drivers and other plugins.
- Introducing SQLite as an optional datastore in addition to etcd: Rancher added SQLite as optional datastore in K3s to provide a lightweight alternative to etcd that has both a lower memory footprint, as well as dramatically simplified operations.
An Ideal Kubernetes Distribution for Low-Touch Operations
As Kubernetes pushes out to the edge, the number of Kubernetes clusters a team is operating is increasing rapidly. In many of the most interesting edge use cases, organizations will run thousands of one, two or three node Kubernetes clusters. To support the operators who will be responsible for managing that scale of infrastructure, K3s was designed to maximize the simplicity of installation and operations.
Key features include:
- Production-grade Kubernetes: K3s is a standards-compliant, Kubernetes distribution engineered for mission-critical, production use cases.
- One binary with zero host dependencies: Everything necessary to install Kubernetes on any device is included in a single, 40mb binary. There is no requirement for an external installer like KubeSpray, KubeADM or RKE. With a single command, a single-node K3s cluster can be provisioned or upgraded.
- Simple to add nodes to a cluster: To add additional nodes to a cluster, admins run a single command on the new node, pointing it to the original server and passing through a secure token.
- Automatic certificate generation: All of the certificates needed to establish TLS between the Kubernetes masters and nodes are automatically created when a cluster is launched. Encryption keys for service accounts are also automatically created.
Rancher Labs is simultaneously releasing K3s with support for x86_64, ARM64 and ARMv7 architectures, making it flexible enough to work across any edge infrastructure. In addition to edge use cases, Rancher anticipates K3s will appeal to any users looking for a simple way to deploy lightweight distribution of Kubernetes. During early previews, many users found it especially useful for CI/CD environments, embedded systems and local Kubernetes deployments.
“With more than 30,000 wind turbines in production, we are excited to see the creation of K3s, which can potentially allow us to deploy Kubernetes clusters on thousands of edge locations,” said Wei Zhang, VP of technology at Goldwind Smart Energy, the world’s second largest wind turbine manufacturer.
Developers who are interested in downloading, installing and playing with this new lightweight Kubernetes distribution should visit https://k3s.io or follow the project on https://github.com/rancher/k3s