@yichengq yichengq released this Jul 21, 2015 · 9370 commits to master since this release

Assets 10

Main features

authentication features [GH 2242]

/v2/auth endpoint adds the authentication feature to the v2 API, providing users, roles and basic authentication. etcdctl support, etcd/client support and the REST API on authentication has been implemented, and they are super easy to use. You can check authentication documentation to start. This is an experimental feature, which will be improved based on user feedback.

more stable transportation [GH 2323 2620 2544]

  • In order to reduce the connection creation overhead and to make raft transportation more efficient and stable, etcd now maintains long running connections with other peers.
  • To reduce the raft command commit latency, each raft append message is now attached to a commit index. The commit latency is reduced from 100ms to 1ms under light load (<100 writes/second).
  • etcd/raft now provides better internal flow control, significantly reducing the possibility of raft message loss, and improving cpu and memory efficiency.

functional testing

fault-injecting, functional testing framework is built to test the functionality of an etcd cluster with a focus on failure-resistance under heavy usage. we have run it continuously for the last four months, and etcd has shown to be robust under many kinds of harsh failure scenarios. For more details, please check the blog post here.

better logging [GH 2707 2923 2926]

Leveled logging is supported now. Users can set an expected log level for etcd and its subpackages. At the meantime, we have moved verbose repeated logging to DEBUG log level, so etcd's default log will be significantly more readable. You can control leveled logging using flags here.

metrics [GH 2785]

etcd introduces a new metrics feature, which can be used for real-time monitoring and debugging. It exposes statistics about both client behaviors and resource usage. This is an experimental feature, which will be improved based on user feedback.

Getting Started

OS X

To get started on OSX run the following in a terminal:

curl -L  https://github.com/coreos/etcd/releases/download/v2.1.1/etcd-v2.1.1-darwin-amd64.zip -o etcd-v2.1.1-darwin-amd64.zip
unzip etcd-v2.1.1-darwin-amd64.zip
cd etcd-v2.1.1-darwin-amd64
./etcd

Open another terminal:

./etcdctl set mykey "this is awesome"
./etcdctl get mykey

Linux

To get started on Linux run the following in a terminal:

curl -L  https://github.com/coreos/etcd/releases/download/v2.1.1/etcd-v2.1.1-linux-amd64.tar.gz -o etcd-v2.1.1-linux-amd64.tar.gz
tar xzvf etcd-v2.1.1-linux-amd64.tar.gz
cd etcd-v2.1.1-linux-amd64
./etcd

Open another terminal:

./etcdctl set mykey "this is awesome"
./etcdctl get mykey

Docker

To get started with Docker on Linux run the following in a terminal:

docker run -p 2379:2379 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.1.1

ACI/Rocket

To get started with Rocket on Linux run the following in a terminal:

rkt run coreos.com/etcd:v2.1.1