etcd 3.7
安装
etcd 3.7 开发、运维、升级、API 与内部原理中文指南
先决条件
安装 etcd 之前,请参阅以下页面:
- [支持的平台][]
- [硬件建议][]
安装预构建二进制文件
安装 etcd 最简便的方式是使用预构建的二进制文件:
-
解压归档文件。解压后会生成一个包含二进制文件的目录。
-
将可执行二进制文件添加到 PATH。例如,可将二进制文件重命名或移动到 PATH 中的目录(如
/usr/local/bin),也可将上一步创建的目录添加到 PATH。 -
在 shell 中验证
etcd是否位于 PATH 中:
从源码构建
如果已安装 Go 版本 1.21+ ,可按以下步骤从源码构建 etcd:
-
下载 etcd 仓库的 zip 文件 并解压,或使用以下命令克隆仓库。
如需从
main@HEAD构建,请省略-b v3.7.0标志。 -
切换目录:
-
运行构建脚本:
二进制文件位于
bin目录下。 -
将
bin目录的完整路径添加到 PATH 环境变量中,例如: -
验证
etcd是否位于 PATH 中:
通过操作系统包安装
请注意:通过操作系统包管理器安装的 etcd 可能会提供过时版本,因为这些版本不会被 etcd 项目自动维护或官方支持。因此,使用操作系统包时应格外谨慎。
在不同操作系统上安装 etcd 有多种方式,以下仅列举部分示例说明如何操作。
macOS (Homebrew)
- 更新 homebrew:
- 安装 etcd:
- 验证安装
Linux
尽管可通过多数主流 Linux 发行版的官方软件仓库和包管理器安装 etcd,但发布的版本可能严重过时。因此,强烈不建议采用此方式安装。
在 Linux 上安装 etcd 的推荐方式是通过 预构建二进制文件 ,或使用 Homebrew。
Linux 上的 Homebrew
Homebrew 可在 Linux 上运行,并可提供较新的软件版本。
-
先决条件
-
更新 Homebrew:
-
-
操作步骤
-
使用
brew安装:
-
-
结果
-
通过获取版本信息验证安装:
-
Docker
etcd 使用 gcr.io/etcd-development/etcd
作为主容器注册表,使用 quay.io/coreos/etcd
作为辅助注册表。
使用 Docker 运行 etcd:
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 fooKubernetes 安装的一部分
- [以 Kubernetes StatefulSet 形式运行 etcd][]
安装检查
若需对安装进行稍复杂的完整性检查,请参阅[快速入门][]。
来源与许可
文档取自 pig.center · 上游文档
- 版本
- 3.7
- 许可
- CC-BY-4.0
- 来源修订
dba8dc7e1afd3f6eea300ebf9ecb67c731145f1ee7db1ca0d3ebc49508812609- 译文修订
dba8dc7e1afd3f6eea300ebf9ecb67c731145f1ee7db1ca0d3ebc49508812609