etcd-operator simplifies etcd cluster configuration and management. This chart bootstraps an etcd-operator and allows the deployment of etcd-cluster(s).

User-facing etcd cluster objects are created as Kubernetes Custom Resources.

Introducing the etcd Operator

etcd is a distributed key-value store. In fact, etcd is the primary datastore of Kubernetes; storing and replicating all Kubernetes cluster state. As a critical component of a Kubernetes cluster having a reliable automated approach to its configuration and management is imperative.

As a distributed consensus-based system, the cluster configuration of etcd can be complicated. Bootstrapping, maintaining a quorum, reconfiguring cluster membership, creating backups, handling disaster recovery, and monitoring critical events are tedious work, and require etcd-specific expertise.

The best way to manage etcd clusters

The etcd Operator is simple to install with a single command line, and enables users to configure and manage the complexities of etcd using the simple declarative configuration that will create, configure, and manage etcd clusters.

The etcd Operator provides the following features:

  • Create/Destroy: Instead of specifying tedious configuration settings for each etcd member, users only need to specify the size of the cluster minimally.
  • Resize: Users need only to modify the size in spec, and the etcd Operator will take care of deploying, destroying, and/or re-configuring cluster members, e.g. from 3 to 5, or from 5 to 3.
  • Backup: The etcd Operator performs backups automatically and transparently. Users need only to specify the backup policy, for example, to back up every 30 minutes and keep the last 3 backups.
  • Upgrade: Upgrading etcd without downtime is a critical but difficult task. Doing it with the etcd Operator not only simplifies operations but also avoids common upgrade pitfalls and errors.

How it works

The etcd Operator simulates human operator behaviors in three steps: Observe, Analyze, and Act.

First, it observes the current cluster state by using the Kubernetes API. Second, it finds the differences between the desired state and current state. Last, it fixes the difference through one or both of the etcd cluster management API or the Kubernetes API.


Tell us about a new Kubernetes application


Never miss a thing! Sign up for our newsletter to stay updated.


Discover and learn about everything Kubernetes