参数列表
Module:
Categories:
ETCD 是一个分布式的、可靠的键-值存储,用于存放系统中最为关键的数据。在 Pigsty 中,etcd 作为高可用组件 Patroni 使用的 DCS,它对于 PG 的高可用非常重要。
Pigsty 为 etcd 集群使用一个硬编码的默认集群组名 etcd
,它可以是一套现有的外部 etcd 集群,或者是默认由 Pigsty 使用 etcd.yml 剧本部署创建的新etcd集群。
参数列表
ETCD 模块有 10 个相关参数:
参数 | 类型 | 级别 | 注释 |
---|---|---|---|
etcd_seq |
int | I | etcd 实例标识符,必填 |
etcd_cluster |
string | C | etcd 集群名,默认固定为 etcd |
etcd_safeguard |
bool | G/C/A | etcd 防误删保险,阻止清除正在运行的 etcd 实例? |
etcd_clean |
bool | G/C/A | etcd 清除指令:在初始化时清除现有的 etcd 实例? |
etcd_data |
path | C | etcd 数据目录,默认为 /data/etcd |
etcd_port |
port | C | etcd 客户端端口,默认为 2379 |
etcd_peer_port |
port | C | etcd 同伴端口,默认为 2380 |
etcd_init |
enum | C | etcd 初始集群状态,新建或已存在 |
etcd_election_timeout |
int | C | etcd 选举超时,默认为 1000ms |
etcd_heartbeat_interval |
int | C | etcd 心跳间隔,默认为 100ms |
默认参数
Etcd 模块的默认参数定义于 roles/etcd/defaults/main.yml
#-----------------------------------------------------------------
# etcd
#-----------------------------------------------------------------
#etcd_seq: 1 # etcd instance identifier, explicitly required
etcd_cluster: etcd # etcd cluster & group name, etcd by default
etcd_safeguard: false # prevent purging running etcd instance?
etcd_clean: true # purging existing etcd during initialization?
etcd_data: /data/etcd # etcd data directory, /data/etcd by default
etcd_port: 2379 # etcd client port, 2379 by default
etcd_peer_port: 2380 # etcd peer port, 2380 by default
etcd_init: new # etcd initial cluster state, new or existing
etcd_election_timeout: 1000 # etcd election timeout, 1000ms by default
etcd_heartbeat_interval: 100 # etcd heartbeat interval, 100ms by default
etcd_seq
参数名称: etcd_seq
, 类型: int
, 层次:I
etcd 实例标号, 这是必选参数,必须为每一个 etcd 实例指定一个唯一的标号。
以下是一个3节点etcd集群的示例,分配了 1 ~ 3 三个标号。
etcd: # dcs service for postgres/patroni ha consensus
hosts: # 1 node for testing, 3 or 5 for production
10.10.10.10: { etcd_seq: 1 } # etcd_seq required
10.10.10.11: { etcd_seq: 2 } # assign from 1 ~ n
10.10.10.12: { etcd_seq: 3 } # odd number please
vars: # cluster level parameter override roles/etcd
etcd_cluster: etcd # mark etcd cluster name etcd
etcd_safeguard: false # safeguard against purging
etcd_clean: true # purge etcd during init process
etcd_cluster
参数名称: etcd_cluster
, 类型: string
, 层次:C
etcd 集群 & 分组名称,默认值为硬编码值 etcd
。
当您想要部署另外的 etcd 集群备用时,可以修改此参数并使用其他集群名。
etcd_safeguard
参数名称: etcd_safeguard
, 类型: bool
, 层次:G/C/A
安全保险参数,防止清除正在运行的etcd实例?默认值为 false
。
如果启用安全保险,etcd.yml 剧本不会清除正在运行的etcd实例。
etcd_clean
参数名称: etcd_clean
, 类型: bool
, 层次:G/C/A
在初始化时清除现有的 etcd ?默认值为true
。
如果启用,etcd.yml
剧本将清除正在运行的 etcd 实例,这将使其成为一个真正幂等的剧本(总是抹除现有集群)。
但是如果启用了etcd_safeguard
,即使设置了此参数,剧本依然会在遇到运行中的 etcd 实例时中止,避免误删。
etcd_data
参数名称: etcd_data
, 类型: path
, 层次:C
etcd 数据目录,默认为/data/etcd
。
etcd_port
参数名称: etcd_port
, 类型: port
, 层次:C
etcd 客户端端口号,默认为2379
。
etcd_peer_port
参数名称: etcd_peer_port
, 类型: port
, 层次:C
etcd peer 端口,默认为 2380
。
etcd_init
参数名称: etcd_init
, 类型: enum
, 层次:C
etcd初始集群状态,可以是new
或existing
,默认值:new
。
默认将创建一个独立的新etcd集群,当尝试向现有etcd集群 添加新成员 时,应当使用 existing
。
etcd_election_timeout
参数名称: etcd_election_timeout
, 类型: int
, 层次:C
etcd 选举超时,默认为 1000
(毫秒),也就是 1 秒。
etcd_heartbeat_interval
参数名称: etcd_heartbeat_interval
, 类型: int
, 层次:C
etcd心跳间隔,默认为 100
(毫秒)。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.