当前位置: 首页 > news >正文

ETCD部署

ETCD 的部署方式主要取决于你的使用场景。对于个人开发或功能验证,最简单的就是本地单节点部署;而在生产环境中,则必须部署多节点集群来保证高可用。

我把几种主流的部署方式和适用场景整理了一下,你可以根据需求来选:

部署方式适用场景复杂度关键步骤 / 工具
本地快速体验开发测试、功能验证、学习研究直接运行etcd二进制文件
单节点服务小型项目、个人服务、对高可用无要求的内部环境⭐⭐预编译二进制包 + systemd 管理
容器化部署微服务架构、需要环境隔离、集成到 K8s 环境⭐⭐⭐Docker / Kubernetes StatefulSet
多节点集群生产环境、核心服务、对高可用和数据一致性有严格要求⭐⭐⭐⭐⭐至少3台服务器 + 手动配置集群参数

ETCD包

https://github.com/etcd

下载最新版本的 ETCD 二进制文件,解压并运行。适用于开发或测试环境。

wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz tar -xvf etcd-v3.5.0-linux-amd64.tar.gz cd etcd-v3.5.0-linux-amd64 ./etcd
默认端口2379、2380 1. 监听client请求的ip & port listen-client-urls: http://127.0.0.1:2379 2. 该节点在集群内通信的ip & port listen-peer-urls: http://127.0.0.1:2380 即使是单节点部署,这里也需要配置集群内的通信ip & port

部署

单点部署

推荐方式是从 GitHub 下载预编译二进制包来安装。不推荐用apt等包管理器,因为版本可能过旧。安装后建议创建systemd服务文件来管理,能实现开机自启和自动重启

# This is the configuration file for the etcd server. # Human-readable name for this member. name: 'etcd-single-node' # Path to the data directory.>docker run -d -p 2379:2379 -p 2380:2380 \ --name etcd quay.io/coreos/etcd:v3.5.0 \ /usr/local/bin/etcd \ --advertise-client-urls http://0.0.0.0:2379 \ --listen-client-urls http://0.0.0.0:2379

使用 systemd 管理

创建 systemd 服务文件,实现 ETCD 开机自启和进程管理。

# /etc/systemd/system/etcd.service [Unit] Description=etcd key-value store Documentation=https://github.com/etcd-io/etcd [Service] ExecStart=/usr/local/bin/etcd Restart=always User=etcd Type=notify [Install] WantedBy=multi-user.target

安全配置

启用 TLS 加密通信,提高 ETCD 集群安全性。

./etcd --name secure-node \ --cert-file=/path/to/server.crt \ --key-file=/path/to/server.key \ --trusted-ca-file=/path/to/ca.crt \ --peer-cert-file=/path/to/peer.crt \ --peer-key-file=/path/to/peer.key \ --peer-trusted-ca-file=/path/to/ca.crt

监控与维护

定期备份 ETCD 数据,确保数据安全。

# Prometheus 配置示例 scrape_configs: - job_name: 'etcd' static_configs: - targets: ['10.0.0.1:2379']

启动

nohup ./etcd --config-conf > etcd.log 2>&1 &

性能调优建议

硬件配置

  • SSD存储设备确保IO性能
  • 每个节点至少2核CPU和8GB内存
  • 生产环境建议万兆网络

参数优化

  • --heartbeat-interval:适当调低心跳间隔(默认100ms)
  • --election-timeout:选举超时时间设置为心跳间隔的5倍
  • --snapshot-count:触发快照的事务数(默认100000)

验证

bin/etcdctl --endpoints=http://$ip:$port member list bin/etcdctl --endpoints=http://$ip:$port endpoint status -w=table

添加用户

#添加root bin/etcdctl --endpoints=http://127.0.0.1:2379 user add root #开启鉴权 bin/etcdctl --endpoints=http://127.0.0.1:2379 auth enable #添加普通用户 bin/etcdctl --endpoints=http://127.0.0.1:2379 name_test:password #添加角色 bin/etcdctl --endpoints=http://127.0.0.1:2379 --user=root:123456 role add normal #角色授权 bin/etcdctl --endpoints=http://127.0.0.1:2379 role grant-permission --prefix=true normal readwrite /v1/api #用户绑定角色 bin/etcdctl --endpoints http://127.0.0.1:2379 --user=root:123456 user grant-role name_test normal
http://www.jsqmd.com/news/879113/

相关文章:

  • 2026年佛山旧房精改全景评测:行业协会数据+业主口碑双核驱动的6强榜单 - 优家闲谈
  • 别再死记硬背贝叶斯公式了!用Python+主观贝叶斯,手把手教你做个简单的智能推理小工具
  • 2026年4月诚信的智能监控系统机构推荐,简单易上手,无需复杂培训 - 品牌推荐师
  • SDCPC 2026 游记
  • ENVI 5.x 保姆级教程:从零绘制你的第一个高光谱3D数据立方体(含去黑边技巧)
  • Poppins字体:终极多语言开源字体解决方案,9种字重+天城文支持
  • 2026上海展台设计搭建公司评测:上海帝斓展览有限公司 - 寻茫精选
  • 2026 专业无损去水印工具推荐|免费去水印软件对比|合法获取高清素材的方法 - 爱上科技热点
  • 2026深度测评:杭州GEO优化服务商TOP5避坑选型指南 - 品牌报告
  • 如何免费安全地将PPTX转为HTML:探索纯JS神器PPTX2HTML的完整指南
  • Chat2DB:用AI重新定义数据库操作,让SQL编写效率提升300%的终极解决方案
  • 【ChatGPT企业版深度实战指南】:20年IT架构师亲授5大核心功能落地路径,规避92%选型踩坑风险
  • ChatGPT账号封禁真相大起底(附OpenAI官方政策逐条对照表):92%用户因这4个隐藏操作永久失权
  • 04孤岛的总面积 图论
  • 高性能Python多智能体建模框架:Mesa 3.0架构解析与工程实践指南
  • 基于概率随机森林的天文大数据分类:从VMC巡天中挖掘河外天体
  • 代谢流量组学质量键合体与分段仿射近似算法应用【附算法】
  • B站视频策划效率提升300%的ChatGPT实战手册(含18个领域专属Prompt库+自动打标/分镜/口播时长优化工具链)
  • 3大止损策略拯救你的交易:backtrader实战指南
  • 独立开发者如何利用Taotoken Token Plan套餐优化个人项目成本
  • 3分钟学会:用novel-downloader轻松保存网络小说的终极指南
  • LLM 只是开始,Agentic Workflow 才是生产力的真正解锁方式
  • 【DeepSeek推理加速实战指南】:20年AI系统优化专家亲授7大低开销部署技巧
  • 【太阳能】基于matlab PEM电解模拟了24小时太阳能绿色氢电厂(每小时太阳能发电量、氢气产量、用水量、储罐动态以及每公斤H₂的成本【含Matlab源码 15561期】
  • 上下文是新的算力吗?
  • 镀锌,会削弱钢筋锚固力吗?
  • B站m4s视频格式转换:5秒极速保存你的珍贵收藏
  • DeepSeek R1工具调用全链路解析:从API鉴权、参数对齐到响应流式处理的7步黄金流程
  • 3分钟为Blender相机添加真实抖动:Camera Shakify新手完全指南
  • 使用Taotoken CLI工具一键配置开发环境,简化团队协作的接入流程