etcd v3.4.24 版本更新介绍
发布日期: 2023-02-16
版本号: v3.4.24
请查看CHANGELOG获取完整变更列表,升级前务必阅读升级指南(可能存在破坏性变更)。安装指南可参考官方文档,最新支持的平台信息详见支持平台说明。
Linux/macOS安装步骤:设置ETCD_VER=v3.4.24,选择Google或GitHub下载源,通过curl获取压缩包并解压至临时目录,验证etcd和etcdctl版本。本地启动服务后可通过etcdctl进行键值读写操作。
Docker部署:使用gcr.io或quay.io的官方镜像,创建数据目录并通过端口映射启动容器,配置监听地址和集群参数。可通过docker exec执行版本验证、健康检查及数据读写操作。各平台均需注意清理临时文件并遵循标准操作流程。
更新内容 (中文)
详见原始内容
ETCD_VER=v3.4.24
# 选择任一下载源
GOOGLE_URL=https:\/\/storage.googleapis.com\/etcd
GITHUB_URL=https:\/\/github.com\/etcd-io\/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
\/tmp\/etcd-download-test\/etcdctl version
# 启动本地 etcd 服务
\/tmp\/etcd-download-test\/etcd
# 读写测试
\/tmp\/etcd-download-test\/etcdctl --endpoints=localhost:2379 put foo bar
\/tmp\/etcd-download-test\/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.4.24
# 选择任一下载源
GOOGLE_URL=https:\/\/storage.googleapis.com\/etcd
GITHUB_URL=https:\/\/github.com\/etcd-io\/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
\/tmp\/etcd-download-test\/etcdctl version
Docker
etcd 主容器镜像仓库为 gcr.io\/etcd-development\/etcd
,次仓库为 quay.io\/coreos\/etcd
。
rm -rf \/tmp\/etcd-data.tmp && mkdir -p \/tmp\/etcd-data.tmp && \\
docker rmi gcr.io\/etcd-development\/etcd:v3.4.24 || true && \\
docker run \\
-p 2379:2379 \\
-p 2380:2380 \\
--mount type=bind,source=\/tmp\/etcd-data.tmp,destination=\/etcd-data \\
--name etcd-gcr-v3.4.24 \\
gcr.io\/etcd-development\/etcd:v3.4.24 \\
\/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-v3.4.24 \/usr\/local\/bin\/etcd --version
docker exec etcd-gcr-v3.4.24 \/usr\/local\/bin\/etcdctl version
docker exec etcd-gcr-v3.4.24 \/usr\/local\/bin\/etcdctl endpoint health
docker exec etcd-gcr-v3.4.24 \/usr\/local\/bin\/etcdctl put foo bar
docker exec etcd-gcr-v3.4.24 \/usr\/local\/bin\/etcdctl get foo
更新内容 (原始)
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
Linux
ETCD_VER=v3.4.24
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/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
/tmp/etcd-download-test/etcdctl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.4.24
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/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
/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.4.24 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.4.24 \
gcr.io/etcd-development/etcd:v3.4.24 \
/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-v3.4.24 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.4.24 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.4.24 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.4.24 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.4.24 /usr/local/bin/etcdctl get foo