From 5fb58310657bd8059b4dddcb60980a3861fb2d65 Mon Sep 17 00:00:00 2001 From: wonder Date: Thu, 27 Aug 2026 11:22:16 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=83=E7=89=9B?= =?UTF-8?q?=E4=BA=91=20Ansible=20=E9=A1=B5=E9=9D=A2=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E5=92=8C=E5=88=97=E8=A1=A8=E6=B8=B2=E6=9F=93=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=88note=20=E6=89=93=E6=96=AD=E8=A1=A8=E6=A0=BC=E3=80=81bo?= =?UTF-8?q?ld=20=E5=90=8E=E7=BC=BA=E7=A9=BA=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/qiniu-cloud/ansible-automation.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/qiniu-cloud/ansible-automation.md b/docs/qiniu-cloud/ansible-automation.md index d93a279..05b39f1 100644 --- a/docs/qiniu-cloud/ansible-automation.md +++ b/docs/qiniu-cloud/ansible-automation.md @@ -43,6 +43,7 @@ graph TD - `postgresql_ha/` — 生产级 PostgreSQL HA 集群(Patroni + etcd + HAProxy + Keepalived + pgBackRest) **角色划分:** + - `mysql/` — 完整的 MySQL 原生交付生命周期 - `postgresql-deploy.yml` / `postgresql-rollback.yml` — 轻量级单机/主从 PostgreSQL - `postgresql_ha/` — 生产级 PostgreSQL HA 集群(Patroni + etcd + HAProxy + Keepalived + pgBackRest) @@ -57,9 +58,6 @@ graph TD | Playbook | 职责 | |----------|------| | `deploy.yml` | 唯一部署入口:回调(precheck) → 参数校验 → MHA 制品安装 → 回调(install) → MySQL 二进制安装 → 回调(configure) → 账号配置 → 复制配置 → MHA 配置 → 回调(healthcheck) → TCP 端口检查 → 回调(register) | - -!!! note "💡 Deploy 流水线" - `deploy.yml` 是 MySQL 唯一部署入口,通过回调机制(callback.yml)向 AWX 上报进度。每个阶段都有独立回调,支持前端实时追踪任务状态。 | `precheck.yml` | 只读预检查:Python 脚本检查磁盘空间、内存、端口、制品可用性、目录冲突,输出结构化 JSON | | `rollback.yml` | 回滚:停止 MHA Manager → 清理 SSH 授权 → 删除 MHA 工作目录 → 停止实例 → 删除配置/二进制/数据/运行时目录 | | `failover.yml` | 两阶段切换:(1) 普通 primary_replica 主从切换(无 MHA)(2) MHA 模式切换(masterha_master_switch) | @@ -71,6 +69,9 @@ graph TD | `rejoin.yml` | 旧主重加入:备份旧数据 → Clone 接收 → 新 server_uuid → GTID 复制 → 校验一致性 | | `restore.yml` | 恢复已下线实例:校验下线标记 → 启动实例 → 验证 UUID 和数据可读 | +!!! note "💡 Deploy 流水线" + `deploy.yml` 是 MySQL 唯一部署入口,通过回调机制(callback.yml)向 AWX 上报进度。每个阶段都有独立回调,支持前端实时追踪任务状态。 + ### 2.2 公共变量 (`vars/delivery.yml`) **核心变量:** @@ -101,6 +102,7 @@ graph TD ``` **账号体系(7 个内置账号):** + - `xinfra_repl` — 复制 - `xinfra_clone` — Clone - `xinfra_mha` — MHA @@ -110,6 +112,7 @@ graph TD - `xinfra_config` — 参数管理 **二进制制品目录(`mysql_binary_catalog`):** + - `8.0` — full_version=8.0.46,含 SHA256 校验和下载地址 - `8.4` — full_version=8.4.8,含 SHA256 校验和下载地址 @@ -247,6 +250,7 @@ graph LR - **备份冗余:** pgBackRest 双仓库(repo1/repo2 分布在不同节点) **关键设计:** + - DCS:独立 etcd 3 节点集群(非系统 etcd) - VIP:通过 Keepalived unicast 模式在 3 个 HAProxy 之间漂移 - HAProxy 通过 Patroni REST API `/primary` 健康检查路由到主库