Etcd

Last updated
etcd
Initial releaseJanuary 28, 2015;10 years ago (2015-01-28) [1]
Stable release
3.6.6 [2]   OOjs UI icon edit-ltr-progressive.svg / 12 November 2025;22 days ago (12 November 2025)
Repository
Written in Go
Service nameetcd
Type Key–value database
License Apache License 2.0
Website etcd.io   OOjs UI icon edit-ltr-progressive.svg

etcd is a key-value database commonly deployed with distributed systems. [3] The software is used by Kubernetes. [4] It is written in the Go programming language and published under the Apache License 2.0.

Contents

History

etcd was originally developed as part of the CoreOS project, it was first announced in June of 2013. [5] It was later donated the project to the Cloud Native Computing Foundation (CNCF). [6] It became a CNCF incubating project in December 2018, and graduated in November of 2020. [4] [7] At the time, the maintainer team consisted of 10 members, including: Amazon, Google Cloud, IBM, Alibaba, and Red Hat. [7] As of 2018, all 32 of the CFNFs Kubernetes compliant distributions and platforms used etcd as their datastore. [5]

According to a 2024 report by the CNCF, the project had over 3300 contributers and at least 450 contributing companies. [8]

The first stable version of etcd, v2.0.0, was released on January 28, 2015. [1] [5] v3.0.0 was released on June 30, 2016. [9]

Name

The name "etcd" is derived from the Unix convention of storing system configuration files in the /etc directory, which applies to a single system, etcd stores configurations for a distributed system, hence the appended "d" standing for "distributed". [10] [11]

Architecture

The software consists of three executables: [6]

On particular database entries, locks can be set to prevent writing by other entities while it is being used. [6] It uses the raft consensus algorithm. [7] [4]

Etcd was initially inspired by Chubby, a distributed lock manager developed Google in 2006, as well as Apache ZooKeeper. [12] [13] [14] [15]

Features

It supports TLS/SSL encryption, exposes a client-facing gRPC API, [7] and supports multiversion concurrency control, [16] and runtime cluster membership reconfiguration. [16] [17]

The official IANA assigned ports for etcd are TCP 2379/2380. [1] [18]

Users

Etcd is used to store cluster data by default for most Kubernetes implementations, [5] [4] like AWS EKS. [19] One notable exception being Google Kubernetes Engine, whose control-plane datastore was migrated from etcd to a Spanner-based store in 2024, while preserving etcd compatibility. [20]

Kubernetes also depends on the etcd API to communicate with its datastore, meaning that all storage backends used by it are required to support the etcd API. [20] [21]

See also

References

  1. 1 2 3 "etcd 2.0 Release - First Major Stable Release". CoreOS. 28 Jan 2015. Archived from the original on 4 Mar 2016. Retrieved 2 December 2025.
  2. "Release 3.6.6". 12 November 2025. Retrieved 13 November 2025.
  3. Dobies, Jason; Wood, Joshua. Kubernetes Operators. O'Reilly Media.
  4. 1 2 3 4 "etcd gets ready to graduate | AWS Open Source Blog". AWS Blog. 17 November 2020. Retrieved 2 December 2025.
  5. 1 2 3 4 Lee, Gyuho; Betz, Joe (11 December 2018). "etcd: Current status and future roadmap". Kubernetes. Retrieved 2 December 2025.
  6. 1 2 3 Burns, Brendan (2024). Designing distributed systems: patterns and paradigms for scalable, reliable services, using Kubernetes (Second ed.). Sebastopol: O'Reilly. ISBN   978-1-0981-5635-0.
  7. 1 2 3 4 "Cloud Native Computing Foundation Announces etcd Graduation". CNCF. 24 November 2020. Retrieved 2 December 2025.
  8. "etcd Project Journey Report". CNCF. 25 September 2024. Retrieved 3 December 2025.
  9. "Release v3.0.0 · etcd-io/etcd". GitHub. Jun 30, 2016. Retrieved 3 December 2025.
  10. "What Is etcd?". IBM. 1 October 2021. Retrieved 3 December 2025.
  11. "etcd versus other key-value stores". etcd. Retrieved 3 December 2025.
  12. "Google Research Publication: Chubby Distributed Lock Service". research.google.com. Retrieved 2 December 2025.
  13. "etcd: the Not-so-Secret Sauce in Google's Kubernetes and Pivotal's Cloud Foundry". datacenterknowledge. 16 Jul 2014. Retrieved 2 December 2025.
  14. "Distributed Key-Value Store etcd Graduates at CNCF". InfoQ. 29 Nov 2020. Retrieved 2 December 2025.
  15. "Kubernetes Podcast from Google: Episode 95 - etcd, with Xiang Li". kubernetespodcast.com. 17 Mar 2020. Retrieved 2 December 2025.
  16. 1 2 "CNCF to host etcd". CNCF. 11 December 2018. Retrieved 3 December 2025.
  17. "Runtime reconfiguration". etcd. Retrieved 3 December 2025.
  18. "Service Name and Transport Protocol Port Number Registry". IANA. Retrieved 3 December 2025.
  19. "Explore etcd Defragmentation in Amazon EKS | Containers". AWS Blogs. 25 September 2023. Retrieved 3 December 2025.
  20. 1 2 "Google Kubernetes Engine supports 65,000-node clusters". Google Cloud Blog. 14 Nov 2024. Retrieved 3 December 2025.
  21. "How etcd works with and without Kubernetes". LearnKube. Retrieved 3 December 2025.