etcd 是一款高可用的分布式键值存储系统,常用于服务发现、配置管理等场景。其配置方式支持命令行参数、环境变量和配置文件(JSON/YAML/TOML 格式),其中 JSON 格式配置文件因结构清晰、易读性强被广泛使用。本文将详细解析 etcd JSON 配置文件的核心配置项、作用及最佳实践。
一、配置文件基础
etcd 启动时可通过 --config-file
参数指定 JSON 配置文件路径(默认无配置文件,需手动创建)。配置文件的核心作用是集中管理 etcd 节点的启动参数,避免命令行参数过长导致的维护困难。
JSON 配置文件的基本结构:
配置文件为一个 JSON 对象,键为配置项名称,值为对应参数(类型可能为字符串、数字、布尔值或数组)。示例框架如下:
json
{
"name": "etcd-node-1",
"data-dir": "/var/lib/etcd",
"listen-peer-urls": ["http://192.168.1.101:2380"],
"listen-client-urls": ["http://192.168.1.101:2379", "http://127.0.0.1:2379"],
...
}
二、核心配置项详解
etcd 配置项可分为 集群配置、数据存储、网络配置、安全配置、日志配置 等模块,以下按模块逐一解析关键配置项。
1. 集群基础配置
集群配置是 etcd 分布式特性的核心,决定节点身份、集群初始化及通信方式。
配置项 | 类型 | 作用 | 默认值 | 关键说明 |
---|---|---|---|---|
name |
字符串 | 节点名称(集群内唯一,用于标识节点) | “default” | 建议使用有意义的名称(如 etcd-node-1 ),便于日志和监控中区分节点。 |
data-dir |
字符串 | 数据存储目录(存放快照、WAL 日志等) | “${name}.etcd” | 需确保目录有写入权限,生产环境建议单独挂载磁盘,避免与系统盘共用。 |
initial-advertise-peer-urls |
字符串数组 | 集群内节点间通信的 对外宣告地址(其他节点用于连接当前节点的地址) | 无默认(必填) | 需使用可被集群内其他节点访问的 IP: 端口(如 http://192.168.1.101:2380 )。 |
listen-peer-urls |
字符串数组 | 节点监听集群内 peer 通信的地址(本地绑定地址) | 无默认(必填) | 通常与 initial-advertise-peer-urls 一致,支持多地址(如同时监听 IPv4 和 IPv6)。 |
advertise-client-urls |
字符串数组 | 客户端访问的 对外宣告地址(客户端用于连接当前节点的地址) | 无默认(必填) | 需使用可被客户端访问的 IP: 端口(如 http://192.168.1.101:2379 )。 |
listen-client-urls |
字符串数组</ |
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
暂无评论内容