etcd 3.7
Install
Official etcd 3.7 guides for developers, operators, upgrades, APIs, and internals.
Requirements
Before installing etcd, see the following pages:
Install pre-built binaries
The easiest way to install etcd is from pre-built binaries:
-
Download the compressed archive file for your platform from Releases , choosing release v3.7.0 or later.
-
Unpack the archive file. This results in a directory containing the binaries.
-
Add the executable binaries to your path. For example, rename and/or move the binaries to a directory in your path (like
/usr/local/bin), or add the directory created by the previous step to your path. -
From a shell, test that
etcdis in your path:
Build from source
If you have Go version 1.21+ , you can build etcd from source by following these steps:
-
Download the etcd repo as a zip file and unzip it, or clone the repo using the following command.
To build from
main@HEAD, omit the-b v3.7.0flag. -
Change directory:
-
Run the build script:
The binaries are under the
bindirectory. -
Add the full path to the
bindirectory to your path, for example: -
Test that
etcdis in your path:
Installation via OS packages
Disclaimer: etcd installations through OS package managers can deliver outdated versions since they are not being automatically maintained nor officially supported by etcd project. Therefore use OS packages with caution.
There are various ways of installing etcd on different operating systems and these are just some examples how it can be done.
MacOS (Homebrew)
- Update homebrew:
- Install etcd:
- Verify install
Linux
Although installing etcd through many major Linux distributions’ official repositories and package managers is possible, the published versions can be significantly outdated. So, installing this way is strongly discouraged.
The recommended way to install etcd on Linux is either through pre-built binaries or by using Homebrew.
Homebrew on Linux
Homebrew can run on Linux , and can provide recent software versions.
-
Prerequisites
-
Update Homebrew:
-
-
Procedure
-
Install using
brew:
-
-
Result
-
Verify installation by getting the version:
-
Docker
etcd uses gcr.io/etcd-development/etcd
as a
primary container registry, and quay.io/coreos/etcd
as
secondary.
To run etcd using Docker:
ETCD_VER=v3.7.0
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/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 \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get fooInstallation as part of Kubernetes installation
Installation check
For a slightly more involved sanity check of your installation, see Quickstart .
Source and license
Documentation imported from pig.center · Upstream documentation
- Version
- 3.7
- License
- CC-BY-4.0
- Source revision
cd1a9d68fc9418f02dbf478ffac90f7891fdb53c8a4ac77c2d8284c7b12b6c3d