etcd-io /etcd

Distributed reliable key-value store for the most critical data of a distributed system

★ 52,685⑂ 10,596👁 1,282⑃ 14,780● 7,348▤ 298◈ 477
GoApache-2.0Created 2013-07-06etcd.io
TA的项目
52,685
stars
+8
10,596
forks
1,282
watchers
14,780
prs
7,348
issues
298
releases
477
discussions

README

etcd











Note: The main branch may be in an unstable or even broken state during development. For stable versions, see [releases][github-release].


  
  
  


etcd is a distributed reliable key-value store for the most critical data of a distributed system, with a focus on being:

 Simple: well-defined, user-facing API (gRPC)
 Secure: automatic TLS with optional client cert authentication
 Fast: benchmarked 10,000 writes/sec
 Reliable: properly distributed using Raft

etcd is written in Go and uses the [Raft][] consensus algorithm to manage a highly-available replicated log.

etcd is used in production by many companies, and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by rigorous robustness testing.

See [etcdctl][etcdctl] for a simple command line client.

!etcd reliability is important

Original image credited to  xkcd.com/2347, alterations by Josh Berkus.

[raft]: https://raft.github.io/
[k8s]: http://kubernetes.io/
[doorman]: https://github.com/youtube/doorman
[locksmith]: https://github.com/coreos/locksmith
[vulcand]: https://github.com/vulcand/vulcand
[etcdctl]: https://github.com/etcd-io/etcd/tree/main/etcdctl

 Documentation

The most common API documentation you'll need can be found here:

 go.etcd.io/etcd/api/v3
 go.etcd.io/etcd/client/pkg/v3
 go.etcd.io/etcd/client/v3
 go.etcd.io/etcd/etcdctl/v3
 go.etcd.io/etcd/pkg/v3
 go.etcd.io/etcd/raft/v3
 go.etcd.io/etcd/server/v3

 Maintainers

Maintainers strive to shape an inclusive open source project culture where users are heard and contributors feel respected and empowered. Maintainers aim to build productive relationships across different companies and disciplines. Read more about Maintainers role and responsibilities.

 Getting started

 Getting etcd

The easiest way to get etcd is to use one of the pre-built release binaries which are available for OSX, Linux, Windows, and Docker on the [release page][github-release].

For more installation guides, please check out operating etcd.

[github-release]: https://github.com/etcd-io/etcd/releases

 Running etcd

First start a single-member cluster of etcd.

If etcd is installed using the [pre-built release binaries][github-release], run it from the installation location as below:

bash
/tmp/etcd-download-test/etcd


The etcd command can be simply run as such if it is moved to the system path as below:

bash
mv /tmp/etcd-download-test/etcd /usr/local/bin/
etcd


This will bring up etcd listening on port 2379 for client communication and on port 2380 for server-to-server communication.

Next, let's set a single key, and then retrieve it:

bash
etcdctl put mykey "this is awesome"
etcdctl get mykey


etcd is now running and serving client requests. For more, please check out:

 Animated quick demo

 etcd TCP ports

The [official etcd ports][iana-por

Top issues

Discussions

Latest release

v3.7.3 v3.7.3 2026-10-22
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).

For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.

 Linux

sh
ETCD_VER=v3.7.3

 choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON