预置剧本
如何使用预置的 ansible 剧本来管理 INFRA 集群,常用管理命令速查。
Pigsty 提供了三个与 INFRA 模块相关的剧本:
deploy.yml:在所有节点上一次性部署 NODE、INFRA、ETCD、MINIO 与 PGSQL 核心模块infra.yml:在 infra 节点上初始化 pigsty 基础设施infra-rm.yml:从 infra 节点移除基础设施组件
deploy.yml
在所有节点上一次性部署 NODE、INFRA、ETCD、MINIO 与 PGSQL 核心模块,解决 INFRA/NODE 循环依赖问题。
该剧本会交叉执行 infra.yml 与 node.yml 的子任务,按以下顺序完成核心组件的部署:
- id:生成节点与 PostgreSQL 身份标识
- ca:在本地创建自签名 CA 证书
- repo:在 infra 节点上创建本地软件仓库
- node-init:初始化节点与 HAProxy
- infra:初始化 Nginx、DNS、VictoriaMetrics、Grafana 等
- node-monitor:初始化 node-exporter、vector
- etcd:初始化 etcd(PostgreSQL 高可用必需)
- minio:初始化 Silo(可选)
- pgsql:初始化 PostgreSQL 集群并配置 PostgreSQL 监控
该剧本等效于依次执行以下五个剧本:
deploy.yml 当前不部署 Docker 模块;需要 Docker 时,应另行设置 docker_enabled: true 并单独执行 docker.yml。
infra.yml
在配置文件的 infra 分组所定义的 Infra 节点 上初始化基础设施模块。
执行该剧本将完成以下任务:
- 配置 Infra 节点 的目录与环境变量
- 下载并创建本地软件仓库,加速后续安装
- 将当前 Infra 节点 作为普通节点纳入 Pigsty 管理
- 部署基础设施组件(VictoriaMetrics/Logs/Traces、VMAlert、Grafana、Alertmanager、Blackbox Exporter 等)
剧本注意事项:
- 本剧本为幂等剧本,重复执行默认不会清理历史数据与 Grafana 数据
- 如需保留历史监控数据,请先将
vmetrics_clean、vlogs_clean、vtraces_clean设置为false - 如果设置
grafana_clean为true,Grafana 数据库会被清理,原有仪表盘与配置会丢失 - 当本地软件仓库
/www/pigsty/repo_complete存在时,本剧本会跳过互联网下载;该文件是 SOW 生成的 SHA-256 清单与完成标记 - 完整执行该剧本耗时约1~3分钟,视机器配置与网络条件而异
可用任务列表
infra-rm.yml
从配置文件 infra 分组定义的 Infra 节点 上移除 Pigsty 基础设施。
常用子任务包括:
全量移除会删除数据
infra-rm.yml 没有防误删开关;不带标签执行时会运行上面所有阶段。data 阶段会递归删除 infra_data(默认 /data/infra)、nginx_data(默认 /data/nginx)、nginx_home(默认 /www)与 /var/lib/grafana,其中包括监控/日志/追踪数据、软件仓库和 Grafana 本地数据。只想停服或注销时必须使用相应标签;全量执行前必须备份需要保留的数据,并核对精确的 infra 目标。