轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
etcd

bitnamicharts/etcd

bitnamicharts

Bitnami为etcd提供的Helm chart,是一款用于简化分布式键值存储系统etcd在Kubernetes等容器编排平台上部署、配置与管理的打包解决方案,集成了最佳实践配置,支持高可用性集群部署、数据持久化存储及版本控制,可帮助用户快速搭建稳定可靠的etcd环境,满足容器化应用对分布式数据存储的核心需求。

1 次收藏下载次数: 0状态:社区镜像维护者:bitnamicharts仓库类型:镜像最近更新:11 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

DockerHub 官方简介
轩辕镜像中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

Bitnami Etcd 软件包

Etcd 是一款分布式键值存储工具,专为跨集群安全存储数据设计。凭借其可靠性、容错能力和易用性,Etcd 在生产环境中被广泛应用。

快速上手

console
helm install my-release oci://registry-1.docker.io/bitnamicharts/etcd

如需在生产环境使用 Etcd,可尝试 [VMware Tanzu Application Catalog] (Bitnami 目录的商业版)。

⚠️ 重要通知:Bitnami 软件目录即将变更

自 2025 年 8 月 28 日起,Bitnami 将升级其公共软件目录,通过新的 [Bitnami Secure Images 计划] 提供精选的强化安全镜像。此次变更包括:

  • 首次向社区用户开放热门容器镜像的安全优化版本。
  • Bitnami 将逐步停止对免费层中非强化的 Debian 基础镜像的支持,并从公共目录中移除非最新标签。社区用户将只能访问数量减少的强化镜像,且仅提供“latest”标签,供开发使用。
  • 自 8 月 28 日起,两周内所有现有容器镜像(包括旧版本标签,如 2.50.0、10.6)将从公共目录(docker.io/bitnami)迁移至“Bitnami Legacy”仓库(docker.io/bitnamilegacy),且不再更新。
  • 对于生产工作负载和长期支持,建议用户采用 Bitnami Secure Images,包含强化容器、更小***面、CVE 透明度(通过 VEX/KEV)、SBOM 以及企业级支持。

这些变更旨在通过推广软件供应链完整性最佳实践和最新部署方式,提升所有 Bitnami 用户的安全态势。详情见 [Bitnami Secure Images 公告] 。

简介

本 Chart 使用 [Helm] 包管理器在 [Kubernetes] 集群上部署 [etcd] 。

前提条件

  • Kubernetes 1.23+
  • Helm 3.8.0+
  • 底层基础设施支持 PV 动态供应

安装 Chart

使用发布名称 my-release 安装 Chart:

console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/etcd

注意:需将占位符 REGISTRY_NAME 和 REPOSITORY_NAME 替换为实际的 Helm 仓库地址。例如,Bitnami 仓库需使用 REGISTRY_NAME=registry-1.docker.io 和 REPOSITORY_NAME=bitnamicharts。

上述命令将以默认配置在 Kubernetes 集群部署 Etcd。参数 部分列出了安装时可配置的选项。

提示:使用 helm list 查看所有发布。

配置与安装详情

资源请求与限制

Bitnami Chart 允许为部署中的所有容器设置资源请求(requests)和限制(limits),相关配置位于 resources 字段(见参数表)。生产环境必须设置资源请求,并根据实际场景调整。

为简化配置,Chart 提供 resourcesPreset 参数,可自动按预设值配置 resources。预设定义见 [bitnami/common Chart] 。但生产环境不建议直接使用 resourcesPreset,需根据具体需求调整。更多容器资源管理信息见 [Kubernetes 官方文档] 。

滚动标签与不可变标签

生产环境强烈建议使用不可变标签,避免因标签指向镜像更新导致部署意外变更。Bitnami 会在主容器版本更新、重大变更或发现严重漏洞时,发布新的 Chart 以更新容器镜像。

Prometheus 监控指标

设置 metrics.enabled=true 可启用 Etcd 原生 Prometheus 指标暴露,容器和 Service(若 metrics.useSeparateEndpoint=true)将开放指标端口,并添加 Prometheus 自动发现注解。

前提条件

需已安装 Prometheus 或 Prometheus Operator。可通过 [Bitnami Prometheus Helm Chart] 或 [Bitnami Kube Prometheus Helm Chart] 快速部署。

集成 Prometheus Operator

设置 *.metrics.podMonitor.enabled=true 可部署 PodMonitor 对象以集成 Prometheus Operator。需确保集群已安装 Prometheus Operator 的 CRD,否则会报错:

text
no matches for kind "PodMonitor" in version "monitoring.coreos.com/v1"

可通过 [Bitnami Kube Prometheus Helm Chart] 安装所需 CRD 和 Prometheus Operator。

更新凭证

Bitnami Chart 在首次启动时配置凭证,后续修改密钥或凭证需手动操作:

  1. 参考 [上游文档] 更新用户密码。
  2. 用新值更新密码密钥(替换 SECRET_NAME 和 PASSWORD 占位符):
shell
kubectl create secret generic SECRET_NAME --from-literal=etcd-root-password=PASSWORD --dry-run -o yaml | kubectl apply -f -

集群配置

Bitnami Etcd Chart 可快速搭建可扩展、支持灾难恢复的 Etcd 集群,通过环境变量配置静态发现实现集群引导。基于初始副本数和无头服务(headless service)添加的 DNS A 记录,Chart 可自动计算每个节点的对等 URL。

Chart 利用 Kubernetes 特性确保集群引导成功:

  • 设置“Parallel” Pod 管理策略:所有 Etcd 副本需同时创建以确保相互发现。
  • DNS 记录“未就绪”Pod:Etcd 副本在就绪前即可通过 FQDN 访问。

更多信息见 [etcd 发现机制] 、[Pod 管理策略] 和 [未就绪 Pod DNS 记录] 。

以下是 3 副本 Etcd 集群的环境配置示例:

节点环境变量值
0ETCD_NAMEetcd-0
0ETCD_INITIAL_ADVERTISE_PEER_URLS<[]>
1ETCD_NAMEetcd-1
1ETCD_INITIAL_ADVERTISE_PEER_URLS<[]>
2ETCD_NAMEetcd-2
2ETCD_INITIAL_ADVERTISE_PEER_URLS<[]>
所有ETCD_INITIAL_CLUSTER_TOKENetcd-cluster-k8s
所有ETCD_INITIAL_CLUSTERetcd-0=<[]>,etcd-1=<[]>,etcd-2=<[]>

就绪和存活探针默认延迟 60 秒,确保副本有时间启动并相互发现。之后,通过 etcdctl endpoint health 定期检查副本健康状态。

可扩展性

集群扩缩容时,Chart 通过 Etcd 重配置操作添加/移除节点:

  • 缩容时,“pre-stop”生命周期钩子执行 etcdctl member remove,并将结果存储在 PV 中。手动删除 Pod 或 Kubernetes 重调度时也会触发此钩子,实现无人工干预的扩缩容。

示例流程:

  1. 3 节点 Kubernetes 集群上部署 3 副本 Etcd 集群。
  2. 管理员需升级某个节点内核,执行节点排空(drain),Pod 被调度至其他节点。
  3. Pod 驱逐时,“pre-stop”钩子移除 Etcd 节点,集群缩容至 2 副本。
  4. Pod 在新节点启动后,通过 etcdctl member add 重新加入集群,恢复至 3 副本。

若钩子执行失败,初始化逻辑会检查 PV 中存储的 etcdctl member remove 输出,通过 etcdctl member update 重新添加节点。此时集群不会自动扩缩容,其他节点可能报错:

text
E | rafthttp: failed to dial XXXXXXXX on stream Message (peer XXXXXXXX failed to find local node YYYYYYYYY)

更多信息见 [etcd 运行时配置] 和 [Kubernetes 节点排空] 。

集群更新

更新 Etcd StatefulSet(如通过 helm upgrade 更新 Chart 版本)时,需按 StatefulSet 更新策略替换 Pod。Chart 默认使用“RollingUpdate”策略,按 Pod 序号从大到小依次更新,等待当前 Pod 就绪后再更新前一个。更多信息见 [StatefulSet 更新策略] 。

灾难恢复

若超过 (N-1)/2 节点故障且“pre-stop”钩子未移除故障节点,集群将失去法定人数(quorum),无法达成共识或接受更新,需从快照恢复(所有节点必须使用同一快照)。

Bitnami Etcd Chart 可配置 Kubernetes CronJob 定期创建数据快照并存储在 RWX 卷中。集群故障时,Pod 将自动尝试使用最新快照恢复。启用方法。

Chart 默认配置“软”Pod 反亲和性(Pod AntiAffinity),降低集群整体故障风险。更多信息见 [etcd 恢复] 、[Kubernetes CronJob] 和 [Pod 亲和性与反亲和性] 。

启用 Etcd 安全特性

可配置基于角色的访问控制(RBAC)和 TLS 加密增强安全性。

配置 RBAC

设置以下参数启用 RBAC:

text
auth.rbac.create=true
auth.rbac.rootPassword=ETCD_ROOT_PASSWORD

将创建拥有全部权限的 root 用户及对应角色,其他用户默认使用无权限的 guest 角色。

配置节点间 TLS 加密

设置以下参数启用节点间安全通信:

text
auth.peer.secureTransport=true
auth.peer.useAutoTLS=true

配置客户端证书

创建包含证书、密钥和 CA 的密钥(Secret),并设置以下参数启用客户端与服务端的安全通信:

text
auth.client.secureTransport=true
auth.client.enableAuthentication=true
auth.client.existingSecret=etcd-client-certs

更多信息见 [etcd 安全模型] 和 [生成自签名证书] 。

启用灾难恢复功能

通过以下参数启用自动灾难恢复(定期快照 + 自动恢复):

text
persistence.enabled=true
disasterRecovery.enabled=true
disasterRecovery.pvc.size=2Gi
disasterRecovery.pvc.storageClassName=nfs

若同时设置 startFromSnapshot.* 参数,快照将存储在 startFromSnapshot.existingClaim 指定的 PVC 中。

注意:灾难恢复功能需 RWX 访问模式的卷。

备份与恢复

两种备份恢复方式:

方法 1:使用 etcd 工具备份数据

  1. 使用 etcdctl 创建源集群快照。
  2. 将快照存储在支持 ReadWriteMany 的 PVC 中。
  3. 在新集群中,通过 startFromSnapshot.existingClaim 和 startFromSnapshot.snapshotFilename 指定快照 PVC 和文件名,恢复数据。

注意:新部署需使用与源集群相同的凭证。

方法 2:使用 Velero 备份持久卷

通过 [Velero] 备份 PV 并在新集群恢复,适用于:

  • Kubernetes 提供商在 [Velero 支持列表] 中。
  • 源和目标集群使用同一提供商(Velero 原生 PV 迁移要求)。
  • 目标集群部署名称、命名空间、拓扑和凭证与源集群一致。

步骤:

  1. 在源和目标集群安装 Velero。
  2. 备份源集群 Etcd 部署使用的 PV。
  3. 在目标集群恢复 PV。
  4. 使用与源集群相同的参数部署新 Etcd,挂载恢复的 PV。

暴露监控指标

集群内暴露指标的方式:

  • 添加 Prometheus 发现注解:
yaml
podAnnotations:
  prometheus.io/scrape: "true"
  prometheus.io/path: "/metrics/cluster"
  prometheus.io/port: "9000"
  • 创建 ServiceMonitor 或 PodMonitor(需 Prometheus Operator)。
  • 参考 [Prometheus 抓取配置示例] 。

集群外可通过 Kubernetes API Proxy 访问指标端点。

自定义配置

两种方式自定义配置:

  • 环境变量:通过 extraEnvVars 设置额外环境变量,或通过 extraEnvVarsCM/extraEnvVarsSecret 引用 ConfigMap/Secret:
yaml
extraEnvVars:
  - name: ETCD_AUTO_COMPACTION_RETENTION
    value: "0"
  - name: ETCD_HEARTBEAT_INTERVAL
    value: "150"
  • 自定义 etcd.conf.yml:通过 configuration 参数定义配置,或使用 existingConfigmap 引用现有 ConfigMap。

自动压缩

Etcd 保留键空间完整历史,需定期压缩以避免性能下降和存储耗尽。压缩会删除指定修订版前的键信息,释放存储空间。

  • autoCompactionMode:默认 periodic,可选 periodic(基于时间,如“5m”)或 revision(基于修订版号)。
  • autoCompactionRetention:默认 0(禁用),压缩保留时间(如“10m”)。

启用命令:

console
autoCompactionMode=periodic
autoCompactionRetention=10m

边车容器与初始化容器

通过 sidecars 添加边车容器(如监控 exporter):

yaml
sidecars:
  - name: 镜像名称
    image: docker.xuanyuan.run/镜像地址
    imagePullPolicy: Always
    ports:
      - name: 端口名
        containerPort: 1234

通过 initContainers 添加初始化容器:

yaml
initContainers:
  - name: 镜像名称
    image: docker.xuanyuan.run/镜像地址
    imagePullPolicy: Always
    ports:
      - name: 端口名
        containerPort: 1234

部署额外资源

通过 extraDeploy 参数部署额外 Kubernetes 对象(如 ConfigMap),直接定义完整对象规格。

设置 Pod 亲和性

通过 affinity 参数自定义亲和性,或使用 bitnami/common Chart 提供的预设(podAffinityPreset、podAntiAffinityPreset、nodeAffinityPreset)。更多信息见 [Kubernetes 亲和性文档] 。

持久化存储

Bitnami Etcd 镜像将数据存储在容器的 /bitnami/etcd 路径,通过 Persistent Volume Claim(PVC)实现持久化。

注意:本文档因 DockerHub 长度限制已精简,完整内容见 [GitHub] 。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 etcd 镜像标签

docker pull docker.xuanyuan.run/bitnamicharts/etcd:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bitnamicharts/etcd:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
bitnamicharts/etcd
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 etcd 镜像推荐

rancher/etcd logo

rancher/etcd

rancher
暂无描述
4 次收藏100万+ 次下载
5 年前更新
cleanstart/etcd logo

cleanstart/etcd

cleanstart
生产就绪、安全加固的etcd容器,基于精简CleanStart操作系统,具备全面安全加固措施,优化用于企业环境,提供可靠应用执行和高级安全特性。
1万+ 次下载
1 个月前更新
hkube/etcd logo

hkube/etcd

hkube
暂无描述
1万+ 次下载
6 年前更新
openeuler/etcd logo

openeuler/etcd

openeuler
官方etcd Docker镜像,基于openEuler构建,提供分布式键值存储功能,适用于在集群中安全存储数据,具有可靠性、容错性和易用性。
8.2千+ 次下载
2 个月前更新
bitnami/etcd logo

bitnami/etcd

Bitnami Secure Images(VMware Tanzu)
Bitnami Secure Image for etcd是Bitnami公司推出的针对分布式键值存储系统etcd的安全优化镜像,集成预配置安全策略、漏洞防护及合规性验证功能,适用于容器化环境与Kubernetes集群,旨在帮助用户便捷部署、高效管理安全可靠的etcd实例,保障数据一致性、服务发现及配置管理过程中的信息安全,同时简化运维流程并降低潜在安全风险。
203 次收藏1亿+ 次下载
10 个月前更新
gasparekatapy/etcd logo

gasparekatapy/etcd

gasparekatapy
Updated version of splazit/etcd
100万+ 次下载
4 年前更新

查看更多 etcd 相关镜像

更多相关 Docker 镜像与资源

以下是 bitnamicharts/etcd 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • bitnami/etcd Docker 镜像说明(etcd 分布式键值存储,Bitnami 企业级配置,适合服务发现和配置管理)
  • dyrnq/etcd Docker 镜像说明(etcd 分布式键值存储,Dyrnq 维护版本)
  • bitnamilegacy/etcd Docker 镜像说明(etcd 分布式键值存储,Bitnami Legacy 版本)
  • openeuler/etcd Docker 镜像说明(openEuler 场景下的 etcd 分布式键值存储,适合信创 Kubernetes 控制面组件)
  • cleanstart/etcd Docker 镜像说明(Etcd 容器镜像,适合 cleanstart 维护的 Etcd 工作负载部署)