预置剧本
如何使用预置的 ansible 剧本来管理 Etcd 集群,常用管理命令速查。
Module:
Categories:
Etcd 模块提供了一个默认的剧本 etcd.yml
,用于安装 Etcd 集群。
etcd.yml
剧本原始文件:etcd.yml
执行本剧本,将会在硬编码的固定分组 etcd
上安装配置 Etcd 集群,并启动 etcd 服务。
在 etcd.yml
中,提供了以下是可用的任务子集:
etcd_assert
:生成 etcd 身份etcd_install
:安装 etcd rpm 包etcd_clean
:清理现有的 etcd 实例etcd_check
:检查 etcd 实例是否在运行etcd_purge
:删除正在运行的 etcd 实例和数据
etcd_dir
:创建 etcd 数据和配置目录etcd_config
:生成 etcd 配置etcd_conf
:生成 etcd 主配置etcd_cert
:生成 etcd ssl 证书
etcd_launch
:启动 etcd 服务etcd_register
: 将 etcd 注册到 prometheus
Etcd 模块没有提供专门的卸载剧本,如果您需要卸载 Etcd,可以使用剧本中的 etcd_clean
子任务,请参考 保护机制 中的介绍。
执行演示
命令速查
Etcd 剧本与快捷方式:
./etcd.yml # 初始化 etcd 集群
./etcd.yml -t etcd_launch # 重启整个 etcd 集群
./etcd.yml -t etcd_clean # 移除整个集群,会检查现有实例是否存在,根据安全保险判断是否执行
./etcd.yml -t etcd_purge # 强制移除整个集群,根本不管安全保险是否启用。
./etcd.yml -t etcd_conf # 使用最新状态刷新 /etc/etcd/etcd.conf
./etcd.yml -l 10.10.10.12 -e etcd_init=existing # 扩容节点:一定要添加 existing 参数,命令行或配置文件均可
./etcd.yml -l 10.10.10.12 -t etcd_purge # 删除节点
保护机制
出于防止误删的目的,Pigsty 的 ETCD 模块提供了防误删保险,由以下参数控制:
etcd_clean
默认为true
,即,默认在初始化时清理现有实例。etcd_safeguard
: 默认为false
,即默认不打开防误删保护。
默认配置使得您可以使用剧本重置 etcd 集群的状态,这对于开发、测试和生产环境中紧急重建 etcd 集群非常有用。
如果您希望在初始化时清理现有实例,请修改配置文件,显式关闭此保险,或者在执行时使用命令行参数 -e etcd_clean=true
进行覆盖。
如果您单纯希望清理现有实例,而不安装新实例,直接执行 etcd_clean
子任务即可:
./etcd.yml -l <cls> -e etcd_clean=true -t etcd_clean
如果您确定要摧毁这个 etcd 集群,更简单暴力直接的方式是:
./etcd.yml -l <cls> -t etcd_purge
除非您清楚地知道自己在做什么,我们并不建议用户这样清理 Etcd 集群。
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.