Platform9 pushed its etcdadm support tool out into the open source community via GitHub in an effort to generate momentum behind automating the configuration, deployment, and management of etcd clusters used by Kubernetes to store control plane information. Those tasks are currently either part of more broadly-focused efforts put on the shoulders of a Kubernetes user, or cobbled together by developers.
Etcd is the primary storage location for Kubernetes and needs to be established before Kubernetes can be run on a system. Arun Sriraman, Kubernetes technical lead manager at Platform9, explained in a video that etcd is the “backbone for Kubernetes storage.”
Platform9’s etcdadm tool provides a command line for Kubernetes that supports the deployment of multiple secure etcd clusters. Those clusters have built-in support for recovery and scalability, which is important to support production environments. The tool can run on premises or in the cloud.
Once a cluster is configured, the etcdadm tool allows for automated scaling of clusters by importing build certificates from the already deployed etcd cluster. It can also create a cluster from a backup. Once those etcd clusters are deployed and scaled, a developer can use the kubeadm tool to then bring up a Kubernetes cluster.
Platform9 initially developed the etcdadm tool for use inside of its Managed Kubernetes platform. It’s now available using the Apache 2.0 license through GitHub, and can run on any Linux distribution like Ubuntu, CentOS, and Container Linux.
Sriraman said that developers today can use the kubeadm tool to bring up an etcd cluster. And, in fact, he explained that etcdadm was based on the kubeadm tool. But, he noted that kubeadm is more focused on bringing up Kubernetes itself and not the management of etcd.
Daniel Lipovetsky, technical lead architect at Platform9, in the video said that etcdadm “solves a very specific problem. That is the sequence of tasks that an Operator needs to perform on a specific host.”
He explained that currently available tools like the etcd Operator, which was developed by CoreOS, can run on a Kubernetes clusters, “which does automate the operations of an etcd cluster. But that is predicated on the fact that you already have a Kubernetes cluster running, which is predicated on the fact you have an etcd cluster running.”
Lipovetsky did note that there is work currently underway on the etcd Manager Program as a cluster lifecycle tool for the orchestration and automation of an etcd cluster. He said those efforts could include delegating some of those tasks to etcdadm.