Skip to main content
Account

etcd

Status
stable
Category
Orchestration & Management
Subcategory
Coordination & Service Discovery
License
Apache-2.0

Rawkode’s personal rating: Adopt

etcd is a distributed key-value store that provides strongly consistent reads and writes across a cluster. It is the default backing store for Kubernetes, where it holds the entire cluster state — every Pod, Service, ConfigMap, and Secret — behind the API server.

Internally, etcd uses the Raft consensus algorithm to replicate data across an odd-numbered cluster (typically 3 or 5 members) and tolerate the loss of a minority of nodes. Data is stored in a multi-version concurrency control (MVCC) B+ tree backed by bbolt, which lets clients watch keys for changes and receive ordered notifications — the mechanism Kubernetes controllers rely on to react to state. Clients talk gRPC, and every write is an fsync-to-disk per committed Raft entry.

Beyond Kubernetes, etcd is also used by Cilium, M3, OpenStack, CoreDNS, and Rook. Operating it well is mostly about disk I/O: etcd is extremely sensitive to fsync latency, and a slow disk will produce the “apply took too long” messages that eventually turn into leader elections and API server timeouts. The usual production advice is dedicated SSDs, isolation from noisy neighbours, and backups via etcdctl snapshot save. It graduated from the CNCF in 2020.

More etcd videos

etcd learning paths

Recent etcd news

  • etcd cuts first 3.7 beta and removes the v2 API

    etcd v3.7.0-beta.0 deletes client/v2, v2discovery, and the v2 request path, adds Unix socket endpoints and FastLeaseKeepAlive, and reports up to 2x faster lease, user, and role operations.

Coordination & Service Discovery

Email signup loads here. You can also manage email preferences in account settings.