etcd is a distributed, consistent key-value store for shared configuration and service discovery, with a focus on being:
Simple: curl’able user facing API (HTTP+JSON)
Secure: optional SSL client cert authentication
Fast: benchmarked 1000s of writes/s per instance
Reliable: properly distributed using Raft
etcd is written in Go and uses the Raft consensus algorithm to manage a highly-available replicated log.
See etcdctl for a simple command line client.
Or feel free to just use curl, as in the examples below.
If you’re considering etcd for production use, please see: production-ready.md
The easiest way to get etcd is to install one of the pre-built binaries from the tagged releases: instructions are available on GitHub.
For those wanting to try the very latest version, you can build the latest version of etcd from the master branch.
All development occurs on master, including new features and bug fixes.
Bug fixes are first targeted at master and subsequently ported to release branches, as described in the branch management guide.
First start a single-member cluster of 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: