docs: 部署手册更新为 foms_app 纯伞化后的流程(clone foms_app + build + start.sh + URL 布局)

This commit is contained in:
yumoqing 2026-08-27 11:12:46 +08:00
parent dedb7bfc57
commit 1c85297af1

View File

@ -1,12 +1,15 @@
# FOMS 部署与运维手册
> 版本2026-08-26补全主备切换闭环后)
> 版本2026-08-27foms_app 纯伞化之后)
> 适用MySQL 主从 + rsync 文件同步的双机主备VIP 浮动1A+2B+3A
>
> 仓库分工:**foms_app纯伞构建/配置/启动)** + foms核心业务+ dbbackup/filesync/hostwatch邻接模块
> 部署以 foms_app 为入口。
## 一、架构
```
管理中心 Cfoms 应用 + 管理库 foms
管理中心 Cfoms_app 组装运行,管理库 foms
▲ HTTPBearer token
┌────────────┴────────────┐
主机 Amaster 主机 Bstandby
@ -17,33 +20,42 @@
```
三个角色:
- **管理中心 C**:跑 foms核心 + dbbackup/filesync/hostwatch 模块),存配置与切换记录。
- **管理中心 C**:跑 foms_app组装核心 + dbbackup/filesync/hostwatch 模块),存配置与切换记录。
- **主机 A / 备机 B**:跑业务 + MySQL + keepalived + foms-agent守护进程
- **VIP**:业务流量入口,平时在 A故障时漂到 Bkeepalived 兜底 + FOMS 主动操作)。
## 二、管理中心 C 部署
```bash
cd foms
./build.sh # 建 venv、装依赖含三模块、生成 DDL/CRUD
git clone git@git.opencomputing.cn:yumoqing/foms_app.git
cd foms_app
./build.sh # 建 venv、clone+安装全部模块、生成 DDL/CRUD
```
**建库**
**建库**build 后各模块目录下生成了 DDL
```bash
mysql -uroot -p < models/mysql.ddl.sql # 核心表
mysql -uroot -p < pkgs/dbbackup/models/mysql.ddl.sql # dbbackup
mysql -uroot -p < pkgs/filesync/models/mysql.ddl.sql # filesync
mysql -uroot -p < pkgs/hostwatch/models/mysql.ddl.sql # hostwatch
mysql -uroot -p < pkgs/foms/models/mysql.ddl.sql # 核心表
mysql -uroot -p < pkgs/dbbackup/models/mysql.ddl.sql # dbbackup
mysql -uroot -p < pkgs/filesync/models/mysql.ddl.sql # filesync
mysql -uroot -p < pkgs/hostwatch/models/mysql.ddl.sql # hostwatch
```
**配置数据库连接**:编辑 `conf/config.json``databases.foms`host/user/password/db
**配置**
- 数据库连接:编辑 `conf/config.json``databases.foms`host/user/password/db
- 环境变量:`cp .env.example .env`,填 `FOMS_PORT` / `MYSQL_ROOT_PASSWORD` / `FOMS_AGENT_TOKEN`
**启动**
```bash
py3/bin/python app/foms.py # 监听 conf 里 website.port默认 9080
./start.sh # 监听 FOMS_PORT默认 9080
./stop.sh
```
启动时 `load_foms()` 会自动注册切换编排器并拉起健康判定器后台任务。
**URL 布局**conf/config.json website.paths
- foms 核心:根路径(`/api/...``/clusters_list``/nodes_list`
- dbbackup`/dbbackup/...` filesync`/filesync/...` hostwatch`/hostwatch/...`
## 三、管理中心登记拓扑(部署后必做)
在 FOMS 界面(或 API依次创建
@ -165,9 +177,10 @@ Agent 以能执行 `systemctl`/`ip`/`mysql` 的用户运行(通常 root。*
- **远程命令安全**命令下发目前无白名单鉴权P1 待办),生产应收窄。
## 八、模块清单
| 模块 | 仓库 | 职责 |
| 仓库 | 角色 | 职责 |
|---|---|---|
| foms核心 | yumoqing/foms | 集群/节点/切换编排/心跳/远程命令 |
| dbbackup | yumoqing/dbbackup | 数据库备份 + 日志同步binlog 复制) |
| filesync | yumoqing/filesync | 运行文件同步rsync |
| hostwatch | yumoqing/hostwatch | 日志监控 + 日志分析 + 主机指标 |
| foms_app | 纯伞(应用壳) | 组装入口、build、配置、启动、首页、RBAC 注册(无业务逻辑) |
| foms | 业务模块(核心) | 集群/节点/切换编排/心跳/远程命令/Agent |
| dbbackup | 业务模块 | 数据库备份 + 日志同步binlog 复制) |
| filesync | 业务模块 | 运行文件同步rsync |
| hostwatch | 业务模块 | 日志监控 + 日志分析 + 主机指标 |