- Inspired by the user experience of the popular kubeadm open source project, etcdadm is a simple command-line tool to deploy and manage secure etcd clusters anywhere. It provides built-in support for recovery and scalability. Platform9 open sourced this project last October under the Apache v2.0 license on GitHub.
- nodeadm is a CLI-based node-management tool that deploys the dependencies that kubeadm requires, such as the kubelet binary. It a simple way to deploy a Kubernetes control plane or nodes on any machine running Linux.
- The cluster lifecycle management tool cctl, using the Kubernetes Cluster API, works with nodeadm and etcdadm to manage a highly-available Kubernetes control plane and etcd clusters. It uses a Flannel (vxlan) Container Network Interface (CNI) back end with plans to support other CNI backends.
Despite the trend to push applications to the cloud, many organizations still run them in their own data centers, some not connected to the internet at all — the so-named air-gapped instances. That’s among the scenarios addressed in the open source Cloud Native Application Bundle that Microsoft and Docker introduced last December at Microsoft’s Connect() developer conference.
With Klusterkit, you can recover a completely failed cluster control plane from an etcd snapshot. It also packages all the artifacts required to deploy Kubernetes in an air-gapped environment in scenarios where cloud-managed clusters are not feasible.
Klusterkit uses a single file, cctl-state.yaml, to store metadata of the Kubernetes cluster. The cctl CLI can be used to orchestrate the lifecycle of a Kubernetes cluster from any machine that contains this state file.
Cctl implements and calls into the upstream community cluster-api interface as a library for CRUD operations on clusters. It uses the open source bare-metal cluster-api provider “ssh-provider,” which in-turn calls etcdadm and nodeadm to perform cluster operations.
Some Platform9 customers have been using Klusterkit at scale for the past year to power mission-critical Kubernetes applications in highly secured, isolated, air-gapped environments.
It has allowed them to standardize their cloud-native efforts on open source, while simplifying support for Day-2 operations, at scale, across a complex matrix of deployment targets, according to Arun Sriraman, Kubernetes technical lead manager at Platform9.
Daniel Lipovetsky, Kubernetes technical lead at Platform9 will explain the etcdadm design in depth and demonstrate its ability to recover from partial and complete failures, in a Cloud Native Computing Foundation webinar Tuesday (4/16) at 10 a.m. PT/1 p.m. ET. Register here.
The Cloud Native Computing Foundation is a sponsor of The New Stack.
Feature image via Pixabay.