v3.2.1
Today we're announcing etcd v3.2.1. This is primarily a bug fix release, backward-compatible with all previous v3.2+ releases. Please read NEWS for highlighted changes.
Upgrade guide from v3.1+ to v3.2+ can be found at upgrade 3.2.
The release signing key can be found at coreos.com/security/app-signing-key.
Please visit Supported platforms to check etcd support status for common architectures and operating systems.
Bug fixes
- perl-net-etcd#16,#7889,#8010 v3rpc: treat nil txn request op as error
- #8090 build-aci: Fix ACI image name
- #8093 Documentation/op-guide: fix failed RPC rate, leader election metrics
- #8080,#8120 mvcc: set db size metric on restore
- #8048,#8127 mvcc: restore into tree index with one key index
- #8146,#8150 mvcc: use GaugeFunc metric to load db size when requested
Getting started
Linux
ETCD_VER=v3.2.1
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/coreos/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.2.1
Git SHA: 61fc123
Go Version: go1.8.3
Go OS/Arch: linux/amd64
COMMENT
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.2.1
API version: 3.2
COMMENT
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.2.1
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/coreos/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test
/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker
docker run \
--rm \
-p 2379:2379 \
-p 2380:2380 \
--name etcd-v3.2.1 \
--volume=/tmp/etcd-data:/etcd-data \
quay.io/coreos/etcd:v3.2.1 \
/usr/local/bin/etcd \
--name my-etcd-1 \
--data-dir /etcd-data \
--listen-client-urls http://localhost:2379 \
--advertise-client-urls http://localhost:2379 \
--listen-peer-urls http://localhost:2380 \
--initial-advertise-peer-urls http://localhost:2380 \
--initial-cluster my-etcd-1=http://localhost:2380 \
--initial-cluster-token my-etcd-token \
--initial-cluster-state new \
--auto-compaction-retention 1
docker exec etcd-v3.2.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"
docker exec etcd-v3.2.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"
For more details, please check Docker guide.