Releases: etcd-io/etcd
v2.1.3
Changelog
- [GH 3378] when invalid TLS files are provided etcd logs a helpful error message and shuts down cleanly.
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.3/etcd-v2.1.3-darwin-amd64.zip -o etcd-v2.1.3-darwin-amd64.zip
unzip etcd-v2.1.3-darwin-amd64.zip
cd etcd-v2.1.3-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.3/etcd-v2.1.3-linux-amd64.tar.gz -o etcd-v2.1.3-linux-amd64.tar.gz
tar xzvf etcd-v2.1.3-linux-amd64.tar.gz
cd etcd-v2.1.3-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.3
ACI/Rocket
To get started with Rocket on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.1.3
v2.2.0-rc.0
Main 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
v2.1.2
Changelog
- [GH 3129] refuse to start when listening on HTTPS and the TLS cert and/or key is missing
- [GH 2234] log a warning when listening on HTTP and TLS is set
- [GH 3149] fix start etcd failure after failing to use proxy mode in member-mode data directory
- [GH 3143] improve output for command line flag parsing errors
- [GH 3257] improve retry mechanism when using the etcd discovery service
- [GH 3118] limit the max election timeout setting to 50 seconds
- [GH 3249] fix struct alignment issue when running under arm64
- [GH 2905] specify request timeout caused by leader election
- [GH 3235] improve error response codes for key etcd requests
- [GH 3238] support cluster health check when auth is enabled
- [GH 3332] log the etcd version during startup
- [GH 3350] fix peer-url and initial-cluster mismatch issue when using discovery SRV
- stop spamming snapshot logging at INFO level when there is a member failure
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.2/etcd-v2.1.2-darwin-amd64.zip -o etcd-v2.1.2-darwin-amd64.zip
unzip etcd-v2.1.2-darwin-amd64.zip
cd etcd-v2.1.2-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.2/etcd-v2.1.2-linux-amd64.tar.gz -o etcd-v2.1.2-linux-amd64.tar.gz
tar xzvf etcd-v2.1.2-linux-amd64.tar.gz
cd etcd-v2.1.2-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.2
ACI/Rocket
To get started with Rocket on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.1.2
v2.2.0-alpha.1
Main features
new etcd client [GH 3083]
We release a new etcd client in 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 get 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 in etcd repo to interact with it.
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 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
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-alpha.1/etcd-v2.2.0-alpha.1-darwin-amd64.zip -o etcd-v2.2.0-alpha.1-darwin-amd64.zip
unzip etcd-v2.2.0-alpha.1-darwin-amd64.zip
cd etcd-v2.2.0-alpha.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.2.0-alpha.1/etcd-v2.2.0-alpha.1-linux-amd64.tar.gz -o etcd-v2.2.0-alpha.1-linux-amd64.tar.gz
tar xzvf etcd-v2.2.0-alpha.1-linux-amd64.tar.gz
cd etcd-v2.2.0-alpha.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.2.0-alpha.1
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-alpha.1
v2.2.0-alpha.0
Main features
new etcd client [GH 3083]
We release a new etcd client in 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 get 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)[https://github.com/coreos/etcd/blob/master/Documentation/rfc/v3api.md] 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, the build and use the etcdctlv3 in etcd repo to interact with it.
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 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
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-alpha.0/etcd-v2.2.0-alpha.0-darwin-amd64.zip -o etcd-v2.2.0-alpha.0-darwin-amd64.zip
unzip etcd-v2.2.0-alpha.0-darwin-amd64.zip
cd etcd-v2.2.0-alpha.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-alpha.0/etcd-v2.2.0-alpha.0-linux-amd64.tar.gz -o etcd-v2.2.0-alpha.0-linux-amd64.tar.gz
tar xzvf etcd-v2.2.0-alpha.0-linux-amd64.tar.gz
cd etcd-v2.2.0-alpha.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-alpha.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-alpha.0
v2.1.1
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
v2.1.0-rc.0
Main features
new authentication features
- [GH2242]
/v2/auth
added the auth feature to the v2 API, providing Users, Roles and Basic Authentication.
etcdctl support, etcd/client support and the REST API are ready - Documentation available at https://github.com/coreos/etcd/blob/master/Documentation/auth_api.md
better logging
- [GH2707] leveled logging is supported now. Users can set an expected log level for etcd and its subpackages.
- [GH2923 2926] move verbose repeated logging to DEBUG log level
more stable transportation
- [GH2323] 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.
- [GH2620] 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).
- [GH2544] etcd/raft now provides better internal flow control, significantly reducing the possibility of raft message loss, and improving cpu and memory efficiency.
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.0-rc.0/etcd-v2.1.0-rc.0-darwin-amd64.zip -o etcd-v2.1.0-rc.0-darwin-amd64.zip
unzip etcd-v2.1.0-rc.0-darwin-amd64.zip
cd etcd-v2.1.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.1.0-rc.0/etcd-v2.1.0-rc.0-linux-amd64.tar.gz -o etcd-v2.1.0-rc.0-linux-amd64.tar.gz
tar xzvf etcd-v2.1.0-rc.0-linux-amd64.tar.gz
cd etcd-v2.1.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.1.0-rc.0
ACI/Rocket
To get started with Rocket on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.1.0-rc.0
v2.0.13
Changelog
- [GH 3030] The -advertise-client-urls flag is no longer required if falling back to proxy mode when discovery, or using read-only proxy mode.
This bug only affected the initial cluster bootstrapping and incorrectly required the -advertise-client-urls
flag to be set in certain circumstances. There is no problem for existing clusters that have already been started.
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.0.13/etcd-v2.0.13-darwin-amd64.zip -o etcd-v2.0.13-darwin-amd64.zip
unzip etcd-v2.0.13-darwin-amd64.zip
cd etcd-v2.0.13-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.0.13/etcd-v2.0.13-linux-amd64.tar.gz -o etcd-v2.0.13-linux-amd64.tar.gz
tar xzvf etcd-v2.0.13-linux-amd64.tar.gz
cd etcd-v2.0.13-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 4001:4001 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.0.13
ACI/Rocket
To get started with rkt on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.0.13
v2.1.0-alpha.1
Main features
new security features
- [GH2242]
/v2/auth
added the auth feature to the v2 API, providing Users, Roles and Basic Authentication.
Both etcdctl support and REST API are in place - Documentation available at https://github.com/coreos/etcd/blob/master/Documentation/auth_api.md
better logging
- [GH2707] leveled logging is supported now. Users could set expected log level for etcd and its subpackages.
- [GH2923 2926] move verbose repeated logging to DEBUG log level
more stable transportation
- [GH2323] To reduce the connection creation overhead and make raft transportation more efficient and stable, etcd now keeps long term connections with other peers.
- [GH2620] To reduce the raft command commit latency, each raft append message now attached with a commit index. The commit latency is reduced from 100ms to 1ms under light load (<100 writes/second).
- [GH2544] etcd/raft now provides better internal flow control. It significantly reduce the possibility of raft message loss, and improves the cpu/memory efficiency.
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.0-alpha.1/etcd-v2.1.0-alpha.1-darwin-amd64.zip -o etcd-v2.1.0-alpha.1-darwin-amd64.zip
unzip etcd-v2.1.0-alpha.1-darwin-amd64.zip
cd etcd-v2.1.0-alpha.1-darwin-amd64
./etcd
Open another terminal:
# Press enter to background etcd
./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.0-alpha.1/etcd-v2.1.0-alpha.1-linux-amd64.tar.gz -o etcd-v2.1.0-alpha.1-linux-amd64.tar.gz
tar xzvf etcd-v2.1.0-alpha.1-linux-amd64.tar.gz
cd etcd-v2.1.0-alpha.1-linux-amd64
./etcd
Open another terminal:
# Press enter to background etcd
./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.0-alpha.1
ACI/Rocket
To get started with Rocket on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.1.0-alpha.1
v2.0.12
Changelog
- [GH 2323] Improve raft stability by making peer communication timeouts configurable
- [GH 2650] Improve error messages when the etcdctl cluster-health command cannot gather cluster health
- [GH 2877] etcd can now recover after bootstrap related errors
- [GH 2884] Improve performance under high load by reusing network connections when running in proxy mode
- [GH 2902] etcd no longer sends invalid requests to the active etcd cluster members when running in proxy mode.
- [GH 2916] The etcd build script now works outside of a git repository, but the version info in the resulting binary will not contain a valid Git SHA.
- [GH 2947] The -advertise-client-urls flag is no longer required when running in proxy mode
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.0.12/etcd-v2.0.12-darwin-amd64.zip -o etcd-v2.0.12-darwin-amd64.zip
unzip etcd-v2.0.12-darwin-amd64.zip
cd etcd-v2.0.12-darwin-amd64
./etcd
Open another terminal:
# Press enter to background etcd
./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.0.12/etcd-v2.0.12-linux-amd64.tar.gz -o etcd-v2.0.12-linux-amd64.tar.gz
tar xzvf etcd-v2.0.12-linux-amd64.tar.gz
cd etcd-v2.0.12-linux-amd64
./etcd
Open another terminal:
# Press enter to background etcd
./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 4001:4001 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.0.12
ACI/Rocket
To get started with Rocket on Linux run the following in a terminal:
rkt run coreos.com/etcd:v2.0.12