The last blog discussed – https://www.tigera.io/blog/containerized-air-gapped-edge-platform-architecture/ – air gapped deployments and the applicability of kubernetes as the foundational layer for such architectures. I am excited to announce that thanks to work by two of my colleagues Arun Sriraman and Dan Lipovetsky, Klusterkit, a set of three open source tools, is now available under the Apache v2.0 license on GitHub.[1]
Introducing Klusterkit
- etcdadm, a CLI that simplifies operating an etcd cluster
- nodeadm, a CLI node administration tool that complements kubeadm by deploying the dependencies that kubeadm requires
- cctl, a cluster lifecycle management tool that adopts the Kubernetes community’s Cluster API and uses nodeadm and etcdadm to easily deploy and maintain highly-available Kubernetes clusters in on-premises, even air-gapped environments.
-
Easy deployment and operating of highly-available etcd cluster and Kubernetes control plane in air-gapped, on-premise environments using the Cluster API.
-
Easy recovery from failures of the cluster control plane using etcd backup
-
Packaging of all the artifacts required to deploy Kubernetes in an air-gapped environment.
cctl
cctl Features
-
Highly-available Kubernetes control plane and etcd
-
Deploy and manage secure etcd clusters
-
Works in air-gapped environments
-
Rolling upgrade support with rollback capability
-
Flannel (vxlan) CNI backend with plans to support other CNI backends
-
Backup and recovery of etcd clusters from quorum loss
-
Control plane protection from low memory/cpu situations
Klusterkit Features
-
Multi-master (K8s HA) support
-
Deploy and manage secure etcd clusters
-
Works in air-gapped environments
-
Rolling upgrade and rollback capability
-
Flannel (vxlan) CNI backend with plans to support other CNI backends
-
Backup and recovery of etcd clusters from quorum loss
-
Control plane protection from low memory/low cpu conditions
Architecture

How to use Klusterkit and its components:
- Each of the three tools can be easily built by calling “go get” as shown below:
- These binaries can then be packaged and copied over to the target machines that need to run a highly available Kubernetes cluster. Place the nodeadm and etcdadm binaries in the versioned directories:
- If the intention is to orchestrate a Kubernetes cluster on-prem, in an air-gapped environment, nodeadm and etcdadm download command makes is easy to pull down required dependencies beforehand from a machine with internet connectivity. These downloaded bits (i.e. kubelet and kubelet systemd file, kubeadm binary, CNI binaries, all container images including Kubernetes, keepalived image and systemd file, etcd container image and related configuration files), can then be copied over to the air-gapped hosts along with cctl, nodeadm, and etcdadm. (For more information see wiki).
- Once all these pieces are in-place, bringing up your first Kubernetes cluster is a couple of commands away:
-
First, create the credentials used for the cluster.$GOPATH/bin/cctl create credential –user root –private-key ~/.ssh/id_rsa
-
Then, create a cluster object. Use –help to see a list of supported flags.$GOPATH/bin/cctl create cluster –pod-network 192.168.0.0/16 –service-network 192.169.0.0/24
-
Finally, create the first machine in your cluster.$GOPATH/bin/cctl create machine –ip $MACHINE_IP –role master
-
References:
-
- Github – http://github.com/platform9/cctl/
-
- Learn more about etcdadm
Join the CNCF-hosted webinar hosted on, 4/16/2019 for a deep-dive into etcdadm – one of the tools included in Klusterkit. Register here.
This article originated from http://www.vamsitalkstech.com/?p=7814
Vamsi Chemitiganti is a Tigera guest blogger. Vamsi Chemitiganti is Chief Strategist at Platform9 Systems. Vamsi works with Platform9’s Client CXOs and Architects to help them on key business transformation initiatives. He holds a BS in Computer Science and Engineering as well as an MBA from the University of Maryland, College Park.
————————————————-
Free Online Training
Access Live and On-Demand Kubernetes Tutorials
Calico Enterprise – Free Trial
Solve Common Kubernetes Roadblocks and Advance Your Enterprise Adoption
Join our mailing list
Get updates on blog posts, workshops, certification programs, new releases, and more!