etcd

Distributed reliable key-value store for the most critical data of a distributed system

APACHE-2.0 License

Downloads
1.1K
Stars
46.2K
Committers
1K

Bot releases are visible (Hide)

etcd - v3.3.0-rc.0

Published by gyuho almost 7 years ago

etcd v3.3.0-rc.0 is now public!

For the full list, please see CHANGELOG and v3.3 upgrade guide for any breaking changes.

Latest support status for common architectures and operating systems can be found at supported platforms.

Release signing key can be found at coreos.com/security/app-signing-key.

Improved

Changed(Breaking Changes)

  • #7909 etcdserver,embed, integration: don't use pointer for ServerConfig
  • #6174 require Go 1.9+
    • #8511 deprecate golang.org/x/net/context
  • gRPC upgrade to v1.7.5
    • grpc#1743,#9042 vendor: upgrade grpc/grpc-go to v1.7.5
    • #8904,#8972 vendor: upgrade grpc/grpc-go to v1.7.4
    • #8972 vendor: upgrade grpc/grpc-go to v1.7.4
    • #8873 vendor: upgrade grpc/grpc-go to v1.7.3
    • #8840 vendor: upgrade grpc/grpc-go to v1.7.2
    • #8625 vendor: upgrade grpc/grpc-go to v1.6.0
    • #8296 vendor: upgrade grpc/grpc-go to v1.5.1
    • #7888,#7896 grpc/grpc-go v1.4.1, grpc-gateway v1.2.2, metadata.Incoming/OutgoingContext
    • #8553 upgrade to grpclog.LoggerV2
    • #8504,#8505 clientv3: deprecate grpc.ErrClientConnTimeout errors
    • #8437 v3rpc: use MaxRecvMsgSize and MaxSendMsgSize to limit message size
  • #8838,#8845 vendor: upgrade grpc-gateway to v1.3.0
  • #9038 client/v3: translate gRPC status error in v3 Snapshot API
  • Upgrade github.com/ugorji/go/codec for v2 client
    • #8574 client/v2: regenerate sources for client with new ugorji/go changes
    • #8574 client/v2: regenerate with latest ugorji/go/codec

Added

etcd

  • #6925,#8407 add --experimental-enable-v2v3 flag to emulate v2 API with v3
  • #7125,#8420 add --experimental-corrupt-check-time flag to raise corrupt alarm monitoring
  • #8313,#8554 add --experimental-initial-corrupt-check flag to check kv hash before serving client/peer traffic
  • #7826,#7976 add --max-txn-ops flag to configure maximum number operations in transaction
  • #7923,#7968 add --max-request-bytes flag to configure maximum client request size
  • #8098,#8123 add --auto-compaction-mode flag to support revision-based compaction
  • #8503,#8563 update --auto-compaction-retention flag to accept string values to support finer granularity
  • #8535 add --grpc-keepalive-* flags to configure server-side keepalive policies
  • #8207,#8272 /health endpoint reports unhealthy when alarm is raised
  • #8312 provide error information in /health, fix /health JSON output
  • #8322 /health endpoint in grpc-proxy
  • #8060,#8242 support additional /metrics endpoints
  • #8226,#8282 /metrics in insecure port if metrics URL scheme is http
  • #8810 move logging setup to embed package, disable gRPC server log by default
  • #8507 lease: use monotime in time.Time for Go 1.9
  • #8379,#8384 warn about empty hosts in advertise urls
  • #8380,#8385 warn about shadowed environment variables

API

clientv3

etcdctl

  • #8479 v2: add backup --with-v3 flag
  • #7584,#8154 v3: add move-leader command
  • #8348,#8351 v3: add endpoint hashkv command
  • #8358 v3: add lease list command
  • #8440,#8462 v3: add --discovery-srv flag
  • #8117,#8143 v3: add endpoint --cluster flag
  • #8367 v3: add defrag --data-dir flag
  • #8370 v3: add lock --ttl flag
  • #8663 v3: add --keepalive-time, --keepalive-timeout flags
  • kubernetes#51099,#9043,#9047 v3: add --max-send-bytes, --max-recv-bytes flags
  • #8775 v3: add lease keep-alive --once flag
  • #8814,#8919 v3: support watch key -- [exec-command…]
  • #8672 v3: enable require-leader for watch command
  • #8295,#8342 v3: exit non-zero on unhealthy ep command
  • #8297 v3: print "del" instead of "delete" in txn interactive mode
  • #8332 v3: print ETCD_INITIAL_ADVERTISE_PEER_URLS in member add

metrics

  • #8948,#8960 add etcd_server_version metric
  • #8050,#8064 add etcd_debugging_server_lease_expired_total metric
  • #8280 mvcc: add metric for count of db key revisions compacted
  • #8802,#8848,#8879 Documentation/op-guide: add rules for Prometheus 2.0
  • #8878 initialize gRPC server metrics with zero values

grpc-gateway

  • #8125,#8880 replace grpc-gateway endpoint with /v3beta
  • #8838,#8845 vendor: upgrade grpc-gateway to v1.3.0
  • #8237,#8257 embed: support websocket for bi-directional streams

grpc-proxy

  • #6065,#8341 clientv3: Disconnected Linearized Reads
  • #8315 experimental serializable ordering

Raft

Added/Fixed(Security/Auth)

  • #8798,#8895 Documentation: explain TLS changes
    • #8262,#8616 CommonName(CN) based auth for inter peer connection
    • #8584,#8594 etcdserver: swap priority of cert CommonName(CN) and username + password
    • #8206,#8223 transport: accept connection if matched IP SAN but no DNS match
    • #8268,#8281 transport: use reverse lookup to match wildcard DNS SAN
    • #8445,#8884 Revert embed: fix HTTPS + DNS SRV discovery
  • #4034,#8124 reject connections based on CRL file
  • #8031 protecting lease revoking with auth
  • #8157,#8164 allow users to know their roles and permissions
  • golang/crypto@6c586e1,#8649 vendor: update golang.org/x/crypto/bcrypt
  • #8608,#8695 auth: fix simpleToken to respect disabled state for assign

Fixed(v2)

  • #8515,#8519 client: failover to next endpoint on oneshot failure
  • #8062 v2http: put back /v2/machines and mark as non-deprecated

Fixed(v3)

  • #8090 build-aci: fix ACI image name
  • #8054 mvcc: count range/put/del operations for txns
  • #8388,#8390 mvcc: reset keys gauge on restore
  • #8080,#8120 mvcc: set db size metric on restore
  • #8146,#8150 mvcc: use GaugeFunc metric to load db size when requested
  • #8048,#8127 mvcc: restore into tree index with one key index
  • #8411,#8427 mvcc: sending events after restore
  • #8335 clientv3: put at most once
  • #8494,#8514 etcdctl: handle empty key permission correctly
  • #7889,#8010 v3rpc: treat nil txn request op as error
  • #8231,#8283 v3rpc: set Canceled=true on compacted watch
  • #6984,#8178,#8286 wal: fall back to closing wal if locked dir rename fails
  • #8532,#8599 etcdserver: make peer dial timeout longer
  • #8224,#8267 embed: wait up to request-timeout for pending RPCs when closing
  • #8916,#8987 embed: fix *grpc.Server panic on GracefulStop with TLS-enabled server
  • #8383,#8414 embed: associate peer serve() listener with corresponding peer
  • #8406,#8306,#8442 concurrent auth ops don't cause old rev
  • #8439 concurrency: retry snapshot serializable stm if writes since first header rev
  • #8277 grpcproxy: return nil on receiving snapshot EOF
  • #8366 grpcproxy: forward PrevKv flag in Put
  • #8478,#8552 grpcproxy: respect KeysOnly flag
  • #8542 vendor: upgrade go-systemd to v15 (see https://github.com/coreos/go-systemd/releases/tag/v15)

Other

  • #8805 release: support to the previous two minor versions
  • commit#e4e6147 op-guide/v2-migration: endpoint hashkv post migration
  • #8369 Documentation/op-guide: add gcr.io image as alternative

Getting started

Linux
ETCD_VER=v3.3.0-rc.0

# 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
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.3.0-rc.0
Git SHA: f7a395f
Go Version: go1.9.2
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.3.0-rc.0
API version: 3.3
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.3.0-rc.0

# 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 && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp \
  docker rmi gcr.io/etcd-development/etcd:v3.3.0-rc.0 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-v3.3.0-rc.0 \
  gcr.io/etcd-development/etcd:v3.3.0-rc.0 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-gcr-v3.3.0-rc.0 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.3.0-rc.0 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.3.0-rc.0 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-gcr-v3.3.0-rc.0 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.3.0-rc.0 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.12

Published by gyuho almost 7 years ago

etcd v3.2.12 is now public!

For the full list, please see CHANGELOG and v3.2 upgrade guide for any breaking changes.

Latest support status for common architectures and operating systems can be found at supported platforms.

Release signing key can be found at coreos.com/security/app-signing-key.

Fixed

  • #8972 fix error message of Revision compactor in server-side
  • #9043,#9047 configurable gRPC message size limits

Other

Getting started

Linux
ETCD_VER=v3.2.12

# 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
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.2.12
Git SHA: b19dae0
Go Version: go1.8.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.2.12
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.12

# 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 && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp \
  docker rmi gcr.io/etcd-development/etcd:v3.2.12 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-v3.2.12 \
  gcr.io/etcd-development/etcd:v3.2.12 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-gcr-v3.2.12 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.2.12 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.2.12 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-gcr-v3.2.12 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.2.12 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.11

Published by gyuho almost 7 years ago

etcd v3.2.11 is now public!

For the full list, please see CHANGELOG and v3.2 upgrade guide.

Latest support status for common architectures and operating systems can be found at supported platforms.

Release signing key can be found at coreos.com/security/app-signing-key.

Fixed

Getting started

Linux
ETCD_VER=v3.2.11

# 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
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.2.11
Git SHA: 1e1dbb2
Go Version: go1.8.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.2.11
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.11

# 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 && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

rm -rf /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.2.11 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  --name etcd-gcr-v3.2.11 \
  gcr.io/etcd-development/etcd:v3.2.11 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-gcr-v3.2.11 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.2.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.2.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-gcr-v3.2.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.2.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

WARNING: AppC is now deprecated

AppC was officially suspended, as of late 2016; acbuild is not maintained anymore.

Future etcd releases (>=v3.4) won’t include ACIs.

etcd - v3.1.11

Published by jpbetz almost 7 years ago

etcd v3.1.11 is now public!

For the full list, please see CHANGELOG and v3.1 upgrade guide.

Latest support status for common architectures and operating systems can be found at supported platforms.

Release signing key can be found at coreos.com/security/app-signing-key.

Fixed

  • #8411,#8806 mvcc: fix watch restore from snapshot
  • #8009,#8902 backport coreos/bbolt v1.3.1-coreos.5

Getting started

Linux
ETCD_VER=v3.1.11

# 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
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.1.11
Git SHA: 960f460
Go Version: go1.8.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.1.11
API version: 3.1
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.1.11

# 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 && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker

etcd official container registry is gcr.io/etcd-development/etcd.
Our primary container registry is gcr.io/etcd-development/etcd, while quay.io/coreos/etcd is still supported.

rm -rf /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.1.11 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  --name etcd-gcr-v3.1.11 \
  gcr.io/etcd-development/etcd:v3.1.11 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-gcr-v3.1.11 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.1.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.1.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-gcr-v3.1.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.1.11 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

WARNING: AppC is now deprecated

AppC was officially suspended, as of late 2016; acbuild is not maintained anymore.

Future etcd releases won’t include ACIs.

etcd - v3.2.10

Published by gyuho almost 7 years ago

Today we're announcing etcd v3.2.10. Please see CHANGELOG 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.

Fixed
  • #8009,#8813 *: use 'coreos/bbolt' (replace 'boltdb/bolt')
  • #8854,#8867 clientv3: backport new balancer to release-3.2, upgrade gRPC to v1.7.3
  • #8445,#8884 Revert "embed: fix HTTPs + DNS SRV discovery"
Getting started
Linux
ETCD_VER=v3.2.10

# 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
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
<<COMMENT
etcd Version: 3.2.10
Git SHA: 694728c
Go Version: go1.8.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.2.10
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.10

# 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 && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
Docker

etcd now uses gcr.io/etcd-development/etcd.
WARNING: quay.io/coreos/etcd has been deprecated.

rm -rf /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.2.10 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  --name etcd-v3.2.10 \
  gcr.io/etcd-development/etcd:v3.2.10 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-v3.2.10 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-v3.2.10 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.10 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.10 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.10 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.9

Published by gyuho about 7 years ago

Today we're announcing etcd v3.2.9. Please see CHANGELOG 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.

Fixed(Security)
Getting started
Linux
ETCD_VER=v3.2.9

# 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.9
Git SHA: f1d7dd8
Go Version: go1.8.4
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.2.9
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.9

# 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

etcd now uses gcr.io/etcd-development/etcd (WARNING: quay.io/coreos/etcd has been deprecated).

rm -rf /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.2.9 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2.9 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  gcr.io/etcd-development/etcd:v3.2.9 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-v3.2.9 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-v3.2.9 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.9 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.9 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.9 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.8

Published by gyuho about 7 years ago

Today we're announcing etcd v3.2.8. Please see CHANGELOG 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
  • #8515,#8519 client: fail over to next endpoint on oneshot failure
  • #8478,#8552 grpcproxy: respect KeysOnly flag
  • #8888 docs: remove link-breaking space
Getting started
Linux
ETCD_VER=v3.2.8

# 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.8
Git SHA: e211fb6
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.8
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.8

# 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

etcd now uses gcr.io/etcd-development/etcd.
quay.io/coreos/etcd has been deprecated.

rm -rf /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.2.8 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2.8 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  gcr.io/etcd-development/etcd:v3.2.8 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

docker exec etcd-v3.2.8 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-v3.2.8 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.8 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.8 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.8 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.7

Published by gyuho about 7 years ago

Today we're announcing etcd v3.2.7. 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
  • #8439 concurrency: retry snapshot serializable stm if writes since first header rev
  • #8406,#8306,#8442 concurrent auth ops don't cause old rev
Getting started
Linux
ETCD_VER=v3.2.7

# 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.7
Git SHA: bb66589
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.7
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.7

# 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

Starting from v3.2.5, we are switching to gcr.io/etcd-development/etcd.
quay.io/coreos/etcd is being deprecated in future versions.

rm -rf /tmp/etcd-data.tmp && \
  docker run \
  --rm \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2.7 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  gcr.io/etcd-development/etcd:v3.2.7 \
  /usr/local/bin/etcd \
  --name my-etcd-1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new

docker exec etcd-v3.2.7 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-v3.2.7 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.7 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.7 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.7 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.6

Published by gyuho about 7 years ago

Today we're announcing etcd v3.2.6. 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
  • #8402,#8404 embed: add 'enable-pprof' tag for config file
  • #8383,#8414 embed: associate peer serve() listener with corresponding peer
  • #8388,#8390 mvcc: reset keys gauge on restore
  • #8411,#8427 mvcc: sending events after restore
Getting started
Linux
ETCD_VER=v3.2.6

# 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.6
Git SHA: 9d43462
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.6
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.6

# 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

Starting from v3.2.5, we are switching to gcr.io/etcd-development/etcd.
quay.io/coreos/etcd is being deprecated in future versions.

rm -rf /tmp/etcd-data.tmp && \
  docker run \
  --rm \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2 \
  --volume=/tmp/etcd-data.tmp:/etcd-data \
  gcr.io/etcd-development/etcd:v3.2 \
  /usr/local/bin/etcd \
  --name my-etcd-1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new

docker exec etcd-v3.2 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-v3.2 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-v3.2 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"

For more details, please check Docker guide.

etcd - v3.2.5

Published by gyuho about 7 years ago

Today we're announcing etcd v3.2.5. 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
  • #8167,#8236 *: move v2http handlers without /v2 prefix to etcdhttp
  • #8268,#8318,#8281 transport: use reverse lookup to match wildcard DNS SAN
  • #8295,#8342 ctlv3: exit non-zero on unhealthy ep command
  • #8350 ctlv3/command: remove double-quote typos in fields printer
  • #8366 grpcproxy: forward PrevKv flag in Put
Getting started
Linux
ETCD_VER=v3.2.5

# 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.5
Git SHA: d0d1a87
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.5
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.5

# 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

Starting from v3.2.5, we are switching to gcr.io/etcd-development/etcd.
quay.io/coreos/etcd will be deprecated in the future.

# REGISTRY=quay.io/coreos/etcd
REGISTRY=gcr.io/etcd-development/etcd

docker run \
  --rm \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2 \
  --volume=/tmp/etcd-data:/etcd-data \
  ${REGISTRY}:v3.2 \
  /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 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.4

Published by fanminshi over 7 years ago

Today we're announcing etcd v3.2.4. 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
  • #8224,#8267 embed: wait up to request-timeout for pending RPCs when closing
  • etcd@1dcae41 grpcproxy: return nil on receiving snapshot EOF
Getting started
Linux
ETCD_VER=v3.2.4

# 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.4
Git SHA: c31bec0
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.4
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.4

# 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 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.2 \
  /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 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.3

Published by gyuho over 7 years ago

Today we're announcing etcd v3.2.3. 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
  • #8238 v3rpc: Let clients establish unlimited streams
Other
  • #8329 Make major and minor version tags of docker images available
  • #8245 Documentation: refer to LeaseKeepAliveRequest for lease refresh
  • #8249 dev-guide: document using range_end for prefixes with json
Getting started
Linux
ETCD_VER=v3.2.3

# 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.3
Git SHA: ae23b0e
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.3
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.3

# 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 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.2 \
  /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 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.1.10

Published by gyuho over 7 years ago

Today we're announcing etcd v3.1.10. This is primarily a bug fix release, backward-compatible with all previous v3.1+ releases. Please read NEWS for highlighted changes.

Upgrade guide from v3.0+ to v3.1+ can be found at upgrade 3.1.

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
Other
  • #8329 Make major and minor version tags of docker images available
Getting started
Linux
ETCD_VER=v3.1.10

# 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.1.10
Git SHA: 0520cb9
Go Version: go1.8.3
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/etcd-download-test/etcdctl version
<<COMMENT
etcdctl version: 3.1.10
API version: 3.1
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.1.10

# 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.1 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.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.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.2

Published by gyuho over 7 years ago

Today we're announcing etcd v3.2.2. 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
  • #8069 benchmark: refactor watch benchmark
  • #8097,#8099 lease: rate limit revoke runLoop
  • #8146,#8149 lessor: extend leases on promote if expires will be rate limited
  • #7961,#8151,#8221 embed: connect json gateway with user-provided listen address
  • #8206,#8223 transport: accept connection if matched IP SAN but no DNS match
  • #8212,#8222 dev-guide: update experimental APIs
Getting started
Linux
ETCD_VER=v3.2.2

# 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.2
Git SHA: cb2a496
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.2
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.2

# 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.2 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.2.2 \
  /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.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.2 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.1

Published by gyuho over 7 years ago

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.

etcd - v3.2.0

Published by gyuho over 7 years ago

Today we're announcing etcd v3.2.0. Release blog post can be found at etcd 3.2 announcement. 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.

Enhancements
Breaking changes
  • #7305 lease: LeaseTimeToLive returns TTL=-1 resp on lease not found
  • #7879 embed: Etcd.Peers field is now []*peerListener
  • #7266 clientv3: NewFromConfigFile is moved to clientv3/yaml.NewConfig
Security changes
  • #7524 auth: changes of managing roles and users
  • #7687 transport: deny incoming peer certs with wrong IP SAN
  • #7767 transport: resolve DNSNames when SAN checking
  • #7829 pkg/transport: reload TLS certificates for every client requests
v0, v2 changes

Only affects when migrated from v3.2.0-rc.0, v3.2.0-rc.1

  • #7803 v2http: remove deprecated /v2/machines path
  • #8062 v2http: put back /v2/machines and mark as non-deprecated
Other changes
  • #7745 *: add bill of materials
  • #6174 *: use Go 1.8+
  • #7560 Dockerfile-release: add nsswitch.conf into image
  • #7714 *: add multi-arch support in release binaries
  • #7170 embed: make v2 endpoint optional
  • #7524 etcdserver, backend: configure mmap size based on quota
  • #7752 clientv3: translate WithPrefix() into WithFromKey() for empty key
  • #7692 vendor: upgrade grpc to 1.2.1
  • #7695 vendor: upgrade grpc-gateway to v1.2.0
  • #7846 scripts: annotate with acbuild with supports-systemd-notify
  • #7877 backend: print snapshotting duration warning every 30s
  • #7892 backend: add prometheus metric for large snapshot duration
Notable bug fixes
  • #5386#issuecomment,#8074 rafthttp: permit very large v2 snapshots
  • #7515,#7518 *: use filepath.Join (fix for Windows)
  • #7789,#7809 fileutil: return immediately if preallocating 0 bytes
  • #7322,#7743 *: use gRPC server GracefulStop
  • #7724,#7759 *: ignore ErrAuthNotEnabled in clientv3 if auth not enabled
  • #7880,#7890 clientv3: Do no stop keep alive loop by server side errors
  • #7348,#7394 *: use machine default host only for default value, 0.0.0.0
  • #7834,#7856 etcdserver: apply() sets consistIndex for any entry type
  • #7628,#7876 etcdserver: renaming db before snapshot persists to wal,snap
  • #7789,#7809 auth: support watch
  • #8071 etcdserver: use same ReadView for read-only txns
New features
  • #7676 etcdmain: support SRV discovery for gRPC proxy
  • #7733 clientv3: let client dial endpoints not in the balancer
  • #7342 clientv3: version checking
  • #7649 etcdctl: add a new option --open-ended for unlimited range permission
  • #7591 etcdctl: add initial check perf command
  • #7983 etcdctl: support exec on lock
  • #7221 grpcproxy: support lease coalescing
  • #7549 namespace proxy
  • #7634 Election RPC service
  • #4709,#6285,#7444 gRPC lock service
  • #4378,#7882 gateway: DNS SRV priority
New metrics
  • #8050,#8064 etcdserver: add leaseExpired metrics
Getting started
Linux
ETCD_VER=v3.2.0
 
# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.2.0
Git SHA: 66722b1
Go Version: go1.8.3
Go OS/Arch: linux/amd64
COMMENT
 
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.2.0
API version: 3.2
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd
 
# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.2.0
 
# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run \
  --rm \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.2.0 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.2.0 \
  /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.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"
 
docker exec etcd-v3.2.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.1.9

Published by gyuho over 7 years ago

Today we're announcing etcd v3.1.9. This is primarily a bug fix release, backward-compatible with all previous v3.1.0+ releases. Please read NEWS for highlighted changes.

Upgrade guide from v3.0+ to v3.1+ can be found at upgrade 3.1.

The release signing key can be found at coreos.com/security/app-signing-key.

Bug fixes
Getting started
Linux
ETCD_VER=v3.1.9
 
# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.1.9
Git SHA: 0f4a535
Go Version: go1.7.6
Go OS/Arch: linux/amd64
COMMENT
 
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.1.9
API version: 3.1
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd
 
# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.1.9
 
# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run \
  --rm \
  -p 2379:2379 \
  -p 2380:2380 \
  --name etcd-v3.1.9 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.1.9 \
  /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.1.9 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.1.9 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.1.9 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"
 
docker exec etcd-v3.1.9 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.1.9 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.0-rc.1

Published by gyuho over 7 years ago

Today we're announcing etcd v3.2.0-rc.1, as part of etcd v3.2 release process.

Please try and report any bugs to help stabilize the v3.2 release.

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.

Breaking changes

#7305 lease: LeaseTimeToLive returns TTL=-1 resp on lease not found
#7879 embed: Etcd.Peers field is now []*peerListener

Reverted changes from v3.2.0-rc.0

#7488,#7732 clientv3: never return an error for KeepAlive
#7851,#7852 Revert "clientv3: never return an error for KeepAlive"
#7853 Documentation/upgrades: revert KeepAlive interface change

Security changes

#7524 auth: changes of managing roles and users
#7687 transport: deny incoming peer certs with wrong IP SAN
#7767 transport: resolve DNSNames when SAN checking
#7829 pkg/transport: reload TLS certificates for every client requests

Other changes

#7745 *: add bill of materials
#6174 *: use Go 1.8+
#7560 Dockerfile-release: add nsswitch.conf into image
#7714 *: add multi-arch support in release binaries
#7170 embed: make v2 endpoint optional
#7524 etcdserver, backend: configure mmap size based on quota
#7752 clientv3: translate WithPrefix() into WithFromKey() for empty key
#7692 vendor: upgrade grpc to 1.2.1
#7695 vendor: upgrade grpc-gateway to v1.2.0
#7846 scripts: annotate with acbuild with supports-systemd-notify
#7877 backend: print snapshotting duration warning every 30s
#7892 backend: add prometheus metric for large snapshot duration

Notable bug fixes

#7515,#7518 *: use filepath.Join (fix for Windows)
#7322,#7743 *: use gRPC server GracefulStop
#7724,#7759 *: simply ignore ErrAuthNotEnabled in clientv3 if auth is not enabled
#7880,#7890 clientv3: Do no stop keep alive loop by server side errors
#7348,#7394 *: use machine default host only for default value, 0.0.0.0
#7834,#7856 etcdserver: apply() sets consistIndex for any entry type
#7628,#7876 etcdserver: renaming db happens before snapshot persists to wal and snap files

New features

#7676 etcdmain: support SRV discovery for gRPC proxy
#7733 clientv3: let client dial endpoints not in the balancer
#7342 clientv3: version checking
#7649 etcdctl: add a new option --open-ended for unlimited range permission
#7591 etcdctl: add initial check perf command
#7221 grpcproxy: support lease coalescing
#7549 namespace proxy
#4709,#7634 Election RPC service, embedded client
#4378,#7882 gateway: DNS SRV priority

Enhancements

#7083,#7105 mvcc: don't block on concurrent reads

Getting started
Linux
ETCD_VER=v3.2.0-rc.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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.2.0-rc.1
Git SHA: 9d7ed0e
Go Version: go1.8.1
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.2.0-rc.1
API version: 3.2
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd

# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.2.0-rc.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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run --rm --net=host \
  --name etcd-v3.2.0-rc.1 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.2.0-rc.1 \
  /usr/local/bin/etcd \
  --name my-etcd-1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new \
  --auto-compaction-retention 1

docker exec etcd-v3.2.0-rc.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2.0-rc.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.0-rc.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.0-rc.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.0-rc.1 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.1.8

Published by gyuho over 7 years ago

Today we're announcing etcd v3.1.8. This is primarily a bug fix release, backward-compatible with all previous v3.1.0+ releases. Please read NEWS for highlighted changes.

The release signing key can be found at coreos.com/security/app-signing-key.

Bug fixes

#7834,#7856 etcdserver: apply() sets consistIndex for any entry type

Documentation fixes

#7667 Docs: replace absolute links with relative ones
#7578 etcd-2-1-0-bench: Fix an absolute bare link to resource outside of Doc dir
#7871 *: fix broken links in markdown

Getting started
Linux
ETCD_VER=v3.1.8

# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.1.8
Git SHA: d267ca9
Go Version: go1.7.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.1.8
API version: 3.1
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd

# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.1.8

# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run --rm --net=host \
  --name etcd-v3.1.8 \
  --volume=/tmp/etcd-data:/etcd-data \
  quay.io/coreos/etcd:v3.1.8 \
  /usr/local/bin/etcd \
  --name my-etcd-1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new \
  --auto-compaction-retention 1

docker exec etcd-v3.1.8 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.1.8 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.1.8 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.1.8 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.1.8 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

etcd - v3.2.0-rc.0

Published by gyuho over 7 years ago

Today we're announcing etcd v3.2.0-rc.0, as part of etcd v3.2 release process.

Please try and report any bugs to help stabilize the v3.2 release.

Upgrade guide from v3.1.x to v3.2.x can be found at upgrade 3.2.

The release signing key can be found at coreos.com/security/app-signing-key.

Breaking changes

#7305 lease: LeaseTimeToLive returns TTL=-1 resp on lease not found
#7488,#7732 clientv3: never return an error for KeepAlive

Security changes

#7524 auth: changes of managing roles and users
#7687 transport: deny incoming peer certs with wrong IP SAN
#7767 transport: resolve DNSNames when SAN checking
#7829 pkg/transport: reload TLS certificates for every client requests

Other changes

#6174 *: use Go 1.8+
#7560 Dockerfile-release: add nsswitch.conf into image
#7714 *: add multi-arch support in release binaries
#7170 embed: make v2 endpoint optional
#7524 etcdserver, backend: configure mmap size based on quota
#7752 clientv3: translate WithPrefix() into WithFromKey() for empty key
#7692 vendor: upgrade grpc to 1.2.1
#7695 vendor: upgrade grpc-gateway to v1.2.0
#7846 scripts: annotate with acbuild with supports-systemd-notify

Bug fixes

#7322,#7743 *: use gRPC server GracefulStop
#7724,#7759 *: simply ignore ErrAuthNotEnabled in clientv3 if auth is not enabled
#7348,#7394 *: use machine default host only for default value, 0.0.0.0

New features

#7676 etcdmain: support SRV discovery for gRPC proxy
#7733 clientv3: let client dial endpoints not in the balancer
#7342 clientv3: version checking
#7649 etcdctl: add a new option --open-ended for unlimited range permission
#7591 etcdctl: add initial check perf command
#7221 grpcproxy: support lease coalescing
#7549 namespace proxy
#4709,#7634 Election RPC service, embedded client

Enhancements

#7083,#7105 mvcc: don't block on concurrent reads

Getting started
Linux
ETCD_VER=v3.2.0-rc.0

# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.2.0-rc.0
Git SHA: 7e6d876
Go Version: go1.8.1
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.2.0-rc.0
API version: 3.2
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd

# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo bar
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.2.0-rc.0

# 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/test-etcd && mkdir -p /tmp/test-etcd

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/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run --rm --net=host \
    --name etcd-v3.2.0-rc.0 \
    --volume=/tmp/etcd-data:/etcd-data \
    quay.io/coreos/etcd:v3.2.0-rc.0 \
    /usr/local/bin/etcd \
    --name my-etcd-1 \
    --data-dir /etcd-data \
    --listen-client-urls http://0.0.0.0:2379 \
    --advertise-client-urls http://0.0.0.0:2379 \
    --listen-peer-urls http://0.0.0.0:2380 \
    --initial-advertise-peer-urls http://0.0.0.0:2380 \
    --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
    --initial-cluster-token my-etcd-token \
    --initial-cluster-state new \
    --auto-compaction-retention 1

docker exec etcd-v3.2.0-rc.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.2.0-rc.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.2.0-rc.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.2.0-rc.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.2.0-rc.0 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.

Package Rankings
Top 0.03% on Proxy.golang.org
Top 7.75% on Formulae.brew.sh
Top 3.79% on Alpine-edge
Top 21.6% on Conda-forge.org
Badges
Extracted from project README
Go Report Card Coverage Tests codeql-analysis Docs Godoc Releases LICENSE OpenSSF Scorecard