From 8a422528d57602db5709c2a965c1145c1a20b818 Mon Sep 17 00:00:00 2001 From: hezhaohui Date: Thu, 16 Jul 2026 10:20:06 +0800 Subject: [PATCH] fix: restructure xinfra slides section order and remove API/ER slides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove API 设计规范 and 数据库 ER 设计(核心表)slides - Fix TOC: remove deleted 数据库设计 entry - Fix 对接子系统 section divider: add 三、 prefix - Move 对接子系统 after all architecture diagrams to keep 架构图 section完整连续(9 diagrams uninterrupted) --- decks/xinfra/slides.md | 548 +++++++++++++++++------------------------ 1 file changed, 223 insertions(+), 325 deletions(-) diff --git a/decks/xinfra/slides.md b/decks/xinfra/slides.md index f0711ff..d3d61e4 100644 --- a/decks/xinfra/slides.md +++ b/decks/xinfra/slides.md @@ -58,7 +58,6 @@ layout: default ### 四、架构描述 - 技术选型 -- 数据库设计 - 安全机制 - 运维模型与风险 @@ -269,228 +268,6 @@ graph LR ---- -section: 对接子系统 -layout: center ---- - -# 对接子系统 - -
Wayne · CloudDM · CacheCloud · Apollo · Grafana · qpass
- ---- - -# 子系统 — Wayne(多集群容器管理) - -
-
- -### 定位 -多集群 Kubernetes 容器管理平台,统一管理 7 机房 RKE2 集群。 - -### 核心能力 -- **多集群纳管** — 通过 Client-Go 对接各机房 RKE2 集群 API -- **应用部署** — 支持 Deployment、StatefulSet 等 K8s 工作负载管理 -- **CI/CD 集成** — 对外提供 APIKey,GitLab CI 自动触发部署 -- **一键回滚** — 应用发布异常时快速回滚至历史版本 - -
-
- -### 关键对接 - -```mermaid -graph LR - CI["GitLab CI"] -->|APIKey 认证| Wayne["Wayne"] - Wayne -->|Client-Go| RKE2["RKE2 集群"] - Main["XINFRA 主系统"] -.->|SSO| Wayne -``` - -### 说明 -- 独立 WebUI + API 服务 -- APIKey 遵循最小权限原则 -- 主系统通过 SSO 跳转,各自维护操作审计 - -
-
- ---- - -# 子系统 — CloudDM(数据库管理与 SQL 审核) - -
-
- -### 定位 -SQL 审核与变更平台,统一管控数据库上线流程。 - -### 核心能力 -- **SQL 审核** — 上线前自动检查 SQL 语句合规性与风险 -- **多库支持** — 原生支持 MySQL,后续扩展 PostgreSQL 等 -- **变更执行** — 审核通过后通过 Sidecar SQL 代理执行变更 -- **操作审计** — 所有 SQL 操作全程记录,可追溯 - -
-
- -### 关键对接 - -```mermaid -graph LR - User["DBA / 开发"] --> CloudDM["CloudDM"] - CloudDM -->|Sidecar 代理| MySQL[("MySQL")] - Deploy["服务部署完成"] -.->|自动注册| CloudDM - Main["XINFRA 主系统"] -.->|SSO| CloudDM -``` - -### 说明 -- 基础服务交付流程中,MySQL 部署完成后自动注册至 CloudDM -- 白名单机制防止规则误判拦截合法 SQL - -
-
- ---- - -# 子系统 — CacheCloud(Redis 缓存管理) - -
-
- -### 定位 -Redis 实例生命周期管理平台,覆盖创建、监控、运维全流程。 - -### 核心能力 -- **实例管理** — Redis 实例的创建、扩缩容、下线 -- **Agent 模式** — 通过 Agent 远程管理各机房 Redis 实例 -- **诊断工具** — 大 Key / 热 Key 检测,慢查询分析 -- **监控集成** — 实例指标上报至 VictoriaMetrics - -
-
- -### 关键对接 - -```mermaid -graph LR - User["运维人员"] --> CacheCloud["CacheCloud"] - CacheCloud -->|Agent| Redis[("Redis")] - Deploy["服务部署完成"] -.->|自动注册| CacheCloud - Main["XINFRA 主系统"] -.->|SSO| CacheCloud -``` - -### 说明 -- 基础服务交付流程中,Redis 部署完成后自动注册至 CacheCloud -- 配合应用侧治理解决大 Key / 热 Key 性能问题 - -
-
- ---- - -# 子系统 — Apollo(配置中心) - -
-
- -### 定位 -携程开源的分布式配置中心,统一管理各业务线应用配置。 - -### 核心能力 -- **多机房部署** — 支持 Cluster 模式,7 机房独立部署 -- **配置灰度** — 配置变更可灰度发布,降低变更风险 -- **版本回滚** — 配置历史版本管理,异常时一键回滚 -- **操作审计** — 配置变更全程记录,可追溯 - -
-
- -### 关键对接 - -```mermaid -graph LR - App["业务应用"] -->|ConfigService| Apollo["Apollo"] - Apollo -->|配置下发| RKE2["RKE2 集群"] - Main["XINFRA 主系统"] -.->|SSO| Apollo -``` - -### 说明 -- 本地缓存降级保障多机房配置一致性 -- 灰度发布验证避免配置下发错误 - -
-
- ---- - -# 子系统 — Grafana(监控可视化) - -
-
- -### 定位 -统一监控可视化平台,对接 VictoriaMetrics 等数据源。 - -### 核心能力 -- **仪表盘** — 集群、节点、应用多维度监控面板 -- **PromQL 查询** — 直接查询 VictoriaMetrics 中的指标数据 -- **告警可视化** — 告警规则与历史趋势展示 -- **多数据源** — 支持 VictoriaMetrics、Zabbix 等多种数据源 - -
-
- -### 关键对接 - -```mermaid -graph LR - VM["VictoriaMetrics"] -->|PromQL| Grafana["Grafana"] - Zabbix["Zabbix"] -->|数据源| Grafana - Main["XINFRA 主系统"] -.->|SSO| Grafana -``` - -### 说明 -- 直接复用现有 Grafana 仪表盘,无需主系统重建监控视图 -- 主系统资源状态看板侧重告警聚合,Grafana 侧重指标可视化 - -
-
- ---- - -# 子系统 — qpass(密码管理平台) - -
-
- -### 定位 -企业级密码管理平台,统一管理各业务线和基础设施的账号密码。 - -### 核心能力 -- **密码托管** — 集中存储和管理各类账号密码、密钥、证书 -- **权限控制** — 基于 RBAC 的密码访问权限,按业务线隔离 -- **审计追溯** — 密码访问、修改、共享全程记录 -- **自动轮换** — 支持定期密码轮换策略,降低泄露风险 - -
-
- -### 关键对接 - -```mermaid -graph LR - QPass["qpass"] -->|密码分发| RKE2["RKE2 集群"] - QPass -->|密码注入| DB["MySQL / Redis"] - Main["XINFRA 主系统"] -.->|SSO| QPass -``` - -### 说明 -- 基础设施部署完成后,密码由 qpass 统一管理并注入 -- 配合 Ansible 实现自动化密码分发与轮换 - -
-
- --- # 平台分层架构 — 基础设施层 @@ -713,6 +490,228 @@ sequenceDiagram +--- +section: 对接子系统 +layout: center +--- + +# 三、对接子系统 + +
Wayne · CloudDM · CacheCloud · Apollo · Grafana · qpass
+ +--- + +# 子系统 — Wayne(多集群容器管理) + +
+
+ +### 定位 +多集群 Kubernetes 容器管理平台,统一管理 7 机房 RKE2 集群。 + +### 核心能力 +- **多集群纳管** — 通过 Client-Go 对接各机房 RKE2 集群 API +- **应用部署** — 支持 Deployment、StatefulSet 等 K8s 工作负载管理 +- **CI/CD 集成** — 对外提供 APIKey,GitLab CI 自动触发部署 +- **一键回滚** — 应用发布异常时快速回滚至历史版本 + +
+
+ +### 关键对接 + +```mermaid +graph LR + CI["GitLab CI"] -->|APIKey 认证| Wayne["Wayne"] + Wayne -->|Client-Go| RKE2["RKE2 集群"] + Main["XINFRA 主系统"] -.->|SSO| Wayne +``` + +### 说明 +- 独立 WebUI + API 服务 +- APIKey 遵循最小权限原则 +- 主系统通过 SSO 跳转,各自维护操作审计 + +
+
+ +--- + +# 子系统 — CloudDM(数据库管理与 SQL 审核) + +
+
+ +### 定位 +SQL 审核与变更平台,统一管控数据库上线流程。 + +### 核心能力 +- **SQL 审核** — 上线前自动检查 SQL 语句合规性与风险 +- **多库支持** — 原生支持 MySQL,后续扩展 PostgreSQL 等 +- **变更执行** — 审核通过后通过 Sidecar SQL 代理执行变更 +- **操作审计** — 所有 SQL 操作全程记录,可追溯 + +
+
+ +### 关键对接 + +```mermaid +graph LR + User["DBA / 开发"] --> CloudDM["CloudDM"] + CloudDM -->|Sidecar 代理| MySQL[("MySQL")] + Deploy["服务部署完成"] -.->|自动注册| CloudDM + Main["XINFRA 主系统"] -.->|SSO| CloudDM +``` + +### 说明 +- 基础服务交付流程中,MySQL 部署完成后自动注册至 CloudDM +- 白名单机制防止规则误判拦截合法 SQL + +
+
+ +--- + +# 子系统 — CacheCloud(Redis 缓存管理) + +
+
+ +### 定位 +Redis 实例生命周期管理平台,覆盖创建、监控、运维全流程。 + +### 核心能力 +- **实例管理** — Redis 实例的创建、扩缩容、下线 +- **Agent 模式** — 通过 Agent 远程管理各机房 Redis 实例 +- **诊断工具** — 大 Key / 热 Key 检测,慢查询分析 +- **监控集成** — 实例指标上报至 VictoriaMetrics + +
+
+ +### 关键对接 + +```mermaid +graph LR + User["运维人员"] --> CacheCloud["CacheCloud"] + CacheCloud -->|Agent| Redis[("Redis")] + Deploy["服务部署完成"] -.->|自动注册| CacheCloud + Main["XINFRA 主系统"] -.->|SSO| CacheCloud +``` + +### 说明 +- 基础服务交付流程中,Redis 部署完成后自动注册至 CacheCloud +- 配合应用侧治理解决大 Key / 热 Key 性能问题 + +
+
+ +--- + +# 子系统 — Apollo(配置中心) + +
+
+ +### 定位 +携程开源的分布式配置中心,统一管理各业务线应用配置。 + +### 核心能力 +- **多机房部署** — 支持 Cluster 模式,7 机房独立部署 +- **配置灰度** — 配置变更可灰度发布,降低变更风险 +- **版本回滚** — 配置历史版本管理,异常时一键回滚 +- **操作审计** — 配置变更全程记录,可追溯 + +
+
+ +### 关键对接 + +```mermaid +graph LR + App["业务应用"] -->|ConfigService| Apollo["Apollo"] + Apollo -->|配置下发| RKE2["RKE2 集群"] + Main["XINFRA 主系统"] -.->|SSO| Apollo +``` + +### 说明 +- 本地缓存降级保障多机房配置一致性 +- 灰度发布验证避免配置下发错误 + +
+
+ +--- + +# 子系统 — Grafana(监控可视化) + +
+
+ +### 定位 +统一监控可视化平台,对接 VictoriaMetrics 等数据源。 + +### 核心能力 +- **仪表盘** — 集群、节点、应用多维度监控面板 +- **PromQL 查询** — 直接查询 VictoriaMetrics 中的指标数据 +- **告警可视化** — 告警规则与历史趋势展示 +- **多数据源** — 支持 VictoriaMetrics、Zabbix 等多种数据源 + +
+
+ +### 关键对接 + +```mermaid +graph LR + VM["VictoriaMetrics"] -->|PromQL| Grafana["Grafana"] + Zabbix["Zabbix"] -->|数据源| Grafana + Main["XINFRA 主系统"] -.->|SSO| Grafana +``` + +### 说明 +- 直接复用现有 Grafana 仪表盘,无需主系统重建监控视图 +- 主系统资源状态看板侧重告警聚合,Grafana 侧重指标可视化 + +
+
+ +--- + +# 子系统 — qpass(密码管理平台) + +
+
+ +### 定位 +企业级密码管理平台,统一管理各业务线和基础设施的账号密码。 + +### 核心能力 +- **密码托管** — 集中存储和管理各类账号密码、密钥、证书 +- **权限控制** — 基于 RBAC 的密码访问权限,按业务线隔离 +- **审计追溯** — 密码访问、修改、共享全程记录 +- **自动轮换** — 支持定期密码轮换策略,降低泄露风险 + +
+
+ +### 关键对接 + +```mermaid +graph LR + QPass["qpass"] -->|密码分发| RKE2["RKE2 集群"] + QPass -->|密码注入| DB["MySQL / Redis"] + Main["XINFRA 主系统"] -.->|SSO| QPass +``` + +### 说明 +- 基础设施部署完成后,密码由 qpass 统一管理并注入 +- 配合 Ansible 实现自动化密码分发与轮换 + +
+
+ --- section: 架构描述 layout: center @@ -720,7 +719,7 @@ layout: center # 四、架构描述 -
技术选型 · 数据库设计 · 安全机制 · 运维模型
+
技术选型 · 安全机制 · 运维模型
--- layout: default @@ -767,107 +766,6 @@ layout: default --- -# API 设计规范 - -
-
- -| 规范项 | 约定 | -|--------|------| -| 路由命名 | RESTful 风格,资源名复数 | -| 版本管理 | URL 路径版本 `/api/v1/...` | -| 分页 | `?page=1&pageSize=20`,响应含 `total` | -| 排序 | `?sort=created_at&order=desc` | -| 筛选 | `?status=running&businessLine=kodo` | - -
-
- -| 规范项 | 约定 | -|--------|------| -| 错误码 | HTTP 状态码 + 业务错误码 | -| 认证 | Bearer Token(JWT),OAuth 2.0 获取 | -| 响应格式 | `{ "code": 0, "data": {...} }` | -| 接口文档 | Swagger/OpenAPI 3.0 | - -
-
- -### 路由示例 - -``` -GET /api/v1/clusters # 集群列表 -GET /api/v1/clusters/:id/nodes # 集群节点 -POST /api/v1/tasks # 创建任务 -GET /api/v1/audit-logs?page=1&pageSize=20 -``` - ---- - -# 数据库 ER 设计(核心表) - -
- -```mermaid -erDiagram - USERS ||--o{ AUDIT_LOGS : "产生" - USERS ||--o{ TASKS : "执行" - USERS ||--o{ API_KEYS : "拥有" - - USERS { - bigint id PK - varchar username UK "LDAP 用户名" - varchar role "管理员/操作员/访客" - varchar business_line "所属业务线" - } - - AUDIT_LOGS { - bigint id PK - bigint user_id FK - varchar action "login/terminal/playbook" - varchar ip "来源 IP" - } - - TASKS { - bigint id PK - varchar task_type "ansible/wayne-deploy" - varchar status "pending/running/success/failed" - bigint user_id FK - } - - API_KEYS { - bigint id PK - varchar key_hash UK "密钥哈希" - varchar scope "授权范围" - datetime expires_at - } - - CLUSTERS { - bigint id PK - varchar name UK "集群名称" - varchar datacenter "所在机房" - varchar status "健康状态" - } - - NODES { - bigint id PK - bigint cluster_id FK - varchar hostname "主机名" - varchar business_line "业务线标签" - } - - RESOURCES { - bigint id PK - varchar hostname UK "主机名" - varchar source "cmdb/alicloud/aws/las" - varchar lifecycle "production/idle/retired" - } -``` - -
- ---- - # 安全机制