v2.2.0-rc.0
Pre-releaseMain features
new etcd client [GH 3083]
We’re releasing a new etcd client in the etcd repo to replace the old go-etcd client. The new client provides a clean set of APIs and improves the functionality around request cancellation and error reporting. It is still under development and might not be as stable as go-etcd. We encourage you to give it a try.
etcdctl now uses the new etcd client. The new client should improve the stability and reliability of etcdctl.
experimental v3 API demo [GH 3248]
We’ve proposed a new version of the etcd API recently. etcd 2.2 supports a subset of the API for testing and demo purposes. It is a non-clustered version and should not be put in production. You can enable it by setting --experimental-v3demo
flag, then build and use the etcdctlv3 tool in the etcd repo to interact with it.
v2 API change [GH 2564]
The newly created unique key is padded with 0s. We now can sort the created unique keys in lexicographic order.
default GOMAXPROCS changes with Go 1.5
Since Go 1.5, by default Go programs run with GOMAXPROCS set to the number of cores available; in prior releases it defaulted to 1. When compiled with Go 1.5, etcd follows the default behavior described above. The released binaries are compiled with Go 1.5. The number of cores used is printed out on start.
cluster health monitoring [GH 3210 3197]
In 2.2, etcd members check for connectivity and timing differences to other other members to ensure the cluster wide health. etcd members report anything unhealthy every 30 seconds as log output.
etcdctl supports a new flag --forever
for the cluster-health subcommand. With that flag set, etcdctl will monitor cluster health continuously. You can now run etcdctl cluster-health --forever
and it will print out the cluster health information every 10 seconds.
new documentation
- design of runtime reconfiguration
- design of discovery service and its protocol
- how to report a bug to etcd
- FAQ
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.2.0-rc.0/etcd-v2.2.0-rc.0-darwin-amd64.zip -o etcd-v2.2.0-rc.0-darwin-amd64.zip
unzip etcd-v2.2.0-rc.0-darwin-amd64.zip
cd etcd-v2.2.0-rc.0-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.2.0-rc.0/etcd-v2.2.0-rc.0-linux-amd64.tar.gz -o etcd-v2.2.0-rc.0-linux-amd64.tar.gz
tar xzvf etcd-v2.2.0-rc.0-linux-amd64.tar.gz
cd etcd-v2.2.0-rc.0-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.2.0-rc.0
ACI/rkt
To get started with rkt on Linux run the following in a terminal:
# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.0-rc.0