Klusterkit: Three open source Kubernetes tools for on-prem, air-gapped environments
Kubernetes and open source go together hand in hand with Platform9’s new announcement: three new open source Kubernetes tools simplify cluster orchestration and deployment. Each of these tools can be used independently or together, on air-gapped environments and on-premises deployment.
When it comes to Kubernetes, there are many open source tools for enhancing your experience to choose from. Now, add three more to the fray. On April 16, 2019 Platform9 announced the release of Klusterkit: a set of open source tools under the Apache v2.0 license on GitHub.
These three tools can either combine together, or operate independently for deploying and operating Kubernetes clusters.
Three open source tools
Klusterkit consists of three independent tools that can be found on GitHub. Since they can all be used independently of one another, users may customize their experience for their particular use cases.
- etcdadm: A command-line tool for operating an etcd cluster. Inspired by the user experience of kubeadm, it simplifies cluster addition, as well as adding/removing members from existing clusters.
- nodeadm: A Kubernetes node administration tool. According to Platform9’s announcement, it “complements kubeadm by deploying the dependencies that kubeadm requires”. Deploy Kubernetes control plane or nodes on any machine that runs Linux. nodeadm also makes it easier to use kubeadm in an air-gapped environment. With nodeadm, users can download dependencies to a cache without installing them. This allows users to either create a snapshot of the file system and create a machine image, or save the cache. See more information about how nodeadm works available here.
- cctl: A cluster lifecycle management tool. It uses nodeadm and etcadm for deploying Kubernetes clusters in on-premises environments. According to it’s GitHub README, it allows for creating, scaling, baking up, and restoring clusters in air-gapped environments. The wiki explains how to utilize it in air-gapped environments for users who wish to keep their machines isolated from outside networks.
The company’s press release examines the mindset behind these three tools. Kubernetes Technical Lead at Platform9 Daniel Lipovetsky says:
Platform9 is committed to the open-source Kubernetes cluster lifecycle tools. Etcdadm began its life as part of Klusterkit and ended up a community project. We are proud to open source the rest of Klusterkit and will continue to enhance it for Kubernetes users everywhere.
As mentioned previously, each of these new tools can operate independently if you wish. However, using them together enables several net positives.
From Platform9’s introduction and tutorial:
The combination of these three tools enables:
Easy deployment and operating of highly-available etcd cluster and Kubernetes control plane in air-gapped, on-premise environments using the Cluster API.
Recovering from a failure of the cluster control plane using etcd backup
Ability to package all the artifacts required to deploy Kubernetes in an air-gapped environment.
Together, Klusterkit offers control plane protection from low memory/low cpu conditions and contains a backup and recovery plan of etcd clusters.