本文へ移動

インストール

ビルド済みバイナリーまたはソースからetcdをインストールする手順。

要件

etcdをインストールする前に、次のページを参照してください。

ビルド済みバイナリーのインストール

etcdを最も簡単にインストールする方法は、ビルド済みバイナリーを使用することです。

  1. リリース一覧 から、使用するプラットフォームの圧縮アーカイブをダウンロードします。 リリースはv3.7.2 以降を選択してください。

  2. アーカイブを展開します。バイナリーを含むディレクトリが作成されます。

  3. 実行可能バイナリーにパスを通します。たとえば、必要に応じてバイナリーの名前を変更して パスの通ったディレクトリ(/usr/local/binなど)へ移動するか、 前の手順で作成されたディレクトリをパスに追加します。

  4. シェルから、etcdにパスが通っていることを確認します。

    $ etcd --version
    etcd Version: 3.7.2
    ...

ソースからのビルド

etcd v3.7.2では、Goバージョン1.26以降 を使用してください。このリリースはGo 1.26.8のツールチェーンを指定しています。 次の手順でソースからetcdをビルドできます。

  1. etcdリポジトリをzipファイルとしてダウンロード して展開するか、 次のコマンドでリポジトリをクローンします。

    $ git clone -b v3.7.2 https://github.com/etcd-io/etcd.git

    main@HEADからビルドするには、-b v3.7.2フラグを省略します。

  2. ディレクトリを移動します。

    $ cd etcd
  3. ビルドスクリプトを実行します。

    $ ./scripts/build.sh

    バイナリーはbinディレクトリに生成されます。

  4. binディレクトリの絶対パスをパスに追加します。例:

    $ export PATH="$PATH:`pwd`/bin"
  5. etcdにパスが通っていることを確認します。

    $ etcd --version

OSパッケージによるインストール

免責事項:OSのパッケージマネージャーによるetcdのインストールでは、古いバージョンが提供される場合があります。これらは自動的に保守されておらず、etcdプロジェクトの公式サポート対象でもありません。そのため、OSパッケージは慎重に使用してください。

オペレーティングシステムごとにさまざまなetcdのインストール方法があります。以下はその一例です。

MacOS(Homebrew)

  1. Homebrewを更新します。
$ brew update
  1. etcdをインストールします。
$ brew install etcd
  1. インストールを確認します。
$ etcd --version

Linux

多くの主要なLinuxディストリビューションでは、公式リポジトリとパッケージマネージャーからetcdをインストールできますが、公開されているバージョンが大幅に古い場合があります。そのため、この方法でのインストールは避けることを強く推奨します。

Linuxへのetcdのインストールには、ビルド済みバイナリー またはHomebrewの使用を推奨します。

LinuxでのHomebrew

HomebrewはLinuxでも動作 し、新しいバージョンのソフトウェアを提供できます。

  • 前提条件

    • Homebrewを更新します。

      $ brew update
  • 手順

    • brewでインストールします。

      $ brew install etcd
  • 結果

    • バージョンを取得してインストールを確認します。

      $ etcd --version
      etcd Version: 3.7.2
      ...

      上記の出力は一例です。Homebrewが提供するパッチバージョンは異なる場合があるため、etcd --versionで実際にインストールされたバージョンを確認してください。

Docker

etcdは、主なコンテナーレジストリとしてgcr.io/etcd-development/etcd を、 副次的なレジストリとしてquay.io/coreos/etcd を使用します。

Dockerでetcdを実行するには、次のコマンドを使用します。

ETCD_VER=v3.7.2

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 foo

Kubernetesのインストールの一環としてのインストール

インストールの確認

インストールが正常に行われたことをもう少し詳しく確認するには、クイックスタート を参照してください。