Etcd

etcd
ReleaseJanuary 28, 2015; 11 years ago (2015-01-28)[1]
Stable release
3.7.1[2] Edit this on Wikidata / 23 July 2026; 18 days ago (23 July 2026)
Written inGo
Service nameetcd
TypeKey–value database
LicenseApache License 2.0
Websiteetcd.io Edit this on Wikidata
Repository

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.

History

etcd was originally developed as part of the CoreOS project, it was first announced in June of 2013.[5] It was later donated 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 contributors 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]

  • etcd
  • etcdctl
  • etcdutl

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. ^ a b c "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.7.1". 23 July 2026. Retrieved 24 July 2026.
  3. ^ Dobies, Jason; Wood, Joshua. Kubernetes Operators. O'Reilly Media.
  4. ^ a b c d "etcd gets ready to graduate | AWS Open Source Blog". AWS Blog. 17 November 2020. Retrieved 2 December 2025.
  5. ^ a b c d Lee, Gyuho; Betz, Joe (11 December 2018). "etcd: Current status and future roadmap". Kubernetes. Retrieved 2 December 2025.
  6. ^ a b c 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. ^ a b c d "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. ^ a b "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. ^ a b "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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.