v3.0.0-beta.0
Pre-releaseToday we're announcing etcd v3.0.0-beta.0, the first pre-release of etcd 3.0.
What’s Beta?
This beta release includes all major features planned for etcd 3.0. These features have all been internally tested. We do not expect significant changes to the v3 API after this release, and the system is generally considered ready for use. However, we cannot test all possible configurations, and etcd 3.0 needs user testing before being declared ready for production use. Please help test the new features in your environment and give feedback to the team.
Notable Enhancements
We released etcd v2.0.0 a year ago. etcd v3 incorporates much expert feedback and thousands of hours of production use by the etcd community. The v3 API solves many issues related to etcd v2 scalability, with a new storage engine, and a new API fully supporting Multi-Version Concurrency Control (MVCC). All v3 API calls are served via gRPC and HTTP/2. For more detail, please see this performance documentation.
What’s new?
Some highlights of etcd 3.0 server improvements:
- Improved latency and throughput
- Lower per key memory overhead
- Automatic TLS configuration
Some highlights of the new etcd3 API:
- Flat binary keyspace
- No key-value hierarchy / directories
- Support query/watch by prefix
- Transactions: combine multiple requests into one operation
- Leases: a single TTL for sets of keys
- Maintenance/Alarm: protect etcd against unexpected shutdown, with disk quota limits
Some highlights of new etcdctl:
- Mirror: mirror etcd to another data center
- Lock: mutex on top of etcd
- Elect: leader election
- Snapshot: stores point-in-time state of etcd backend
- Endpoint: health checking
There are many more additions, improvements, and fixes. We will cover them all in the stable release notes.
What’s next?
Our highest priority is to polish the etcd 3.0 beta as it makes the last few steps toward a stable release. The 3.0.0 release will also include additional improvements:
- Authentication
- Better documentation
- Tools and guides for migrating from etcd v2.
Thanks to everyone who contributed to the release!
Getting Started
OS X
To get started on OSX run the following in a terminal:
curl -L https://github.com/coreos/etcd/releases/download/v3.0.0-beta.0/etcd-v3.0.0-beta.0-darwin-amd64.zip -o etcd-v3.0.0-beta.0-darwin-amd64.zip
unzip etcd-v3.0.0-beta.0-darwin-amd64.zip
cd etcd-v3.0.0-beta.0-darwin-amd64
./etcd
Open another terminal:
ETCDCTL_API=3 ./etcdctl put mykey "this is awesome"
ETCDCTL_API=3 ./etcdctl get mykey
Linux
To get started on Linux run the following in a terminal:
curl -L https://github.com/coreos/etcd/releases/download/v3.0.0-beta.0/etcd-v3.0.0-beta.0-linux-amd64.tar.gz -o etcd-v3.0.0-beta.0-linux-amd64.tar.gz
tar xzvf etcd-v3.0.0-beta.0-linux-amd64.tar.gz
cd etcd-v3.0.0-beta.0-linux-amd64
./etcd
Open another terminal:
ETCDCTL_API=3 ./etcdctl put mykey "this is awesome"
ETCDCTL_API=3 ./etcdctl get mykey
Docker
To get started with Docker on Linux run the following in a terminal:
docker run --name etcd quay.io/coreos/etcd:v3.0.0-beta.0
For advanced usage, please check our docker guide.
ACI/rkt
To get started with rkt on Linux run the following in a terminal:
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.0-beta.0
For more info about rkt command line, please check rkt commands.