fix: restructure xinfra slides section order and remove API/ER slides
Deploy Slides / build-and-deploy (push) Successful in 2m18s
Deploy Slides / build-and-deploy (push) Successful in 2m18s
- 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)
This commit is contained in:
+223
-325
@@ -58,7 +58,6 @@ layout: default
|
||||
### 四、架构描述
|
||||
|
||||
- 技术选型
|
||||
- 数据库设计
|
||||
- 安全机制
|
||||
- 运维模型与风险
|
||||
|
||||
@@ -269,228 +268,6 @@ graph LR
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
section: 对接子系统
|
||||
layout: center
|
||||
---
|
||||
|
||||
# 对接子系统
|
||||
|
||||
<div class="text-gray-400 mt-2">Wayne · CloudDM · CacheCloud · Apollo · Grafana · qpass</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Wayne(多集群容器管理)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
多集群 Kubernetes 容器管理平台,统一管理 7 机房 RKE2 集群。
|
||||
|
||||
### 核心能力
|
||||
- **多集群纳管** — 通过 Client-Go 对接各机房 RKE2 集群 API
|
||||
- **应用部署** — 支持 Deployment、StatefulSet 等 K8s 工作负载管理
|
||||
- **CI/CD 集成** — 对外提供 APIKey,GitLab CI 自动触发部署
|
||||
- **一键回滚** — 应用发布异常时快速回滚至历史版本
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
CI["GitLab CI"] -->|APIKey 认证| Wayne["Wayne"]
|
||||
Wayne -->|Client-Go| RKE2["RKE2 集群"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| Wayne
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 独立 WebUI + API 服务
|
||||
- APIKey 遵循最小权限原则
|
||||
- 主系统通过 SSO 跳转,各自维护操作审计
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — CloudDM(数据库管理与 SQL 审核)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
SQL 审核与变更平台,统一管控数据库上线流程。
|
||||
|
||||
### 核心能力
|
||||
- **SQL 审核** — 上线前自动检查 SQL 语句合规性与风险
|
||||
- **多库支持** — 原生支持 MySQL,后续扩展 PostgreSQL 等
|
||||
- **变更执行** — 审核通过后通过 Sidecar SQL 代理执行变更
|
||||
- **操作审计** — 所有 SQL 操作全程记录,可追溯
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
User["DBA / 开发"] --> CloudDM["CloudDM"]
|
||||
CloudDM -->|Sidecar 代理| MySQL[("MySQL")]
|
||||
Deploy["服务部署完成"] -.->|自动注册| CloudDM
|
||||
Main["XINFRA 主系统"] -.->|SSO| CloudDM
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础服务交付流程中,MySQL 部署完成后自动注册至 CloudDM
|
||||
- 白名单机制防止规则误判拦截合法 SQL
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — CacheCloud(Redis 缓存管理)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
Redis 实例生命周期管理平台,覆盖创建、监控、运维全流程。
|
||||
|
||||
### 核心能力
|
||||
- **实例管理** — Redis 实例的创建、扩缩容、下线
|
||||
- **Agent 模式** — 通过 Agent 远程管理各机房 Redis 实例
|
||||
- **诊断工具** — 大 Key / 热 Key 检测,慢查询分析
|
||||
- **监控集成** — 实例指标上报至 VictoriaMetrics
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
User["运维人员"] --> CacheCloud["CacheCloud"]
|
||||
CacheCloud -->|Agent| Redis[("Redis")]
|
||||
Deploy["服务部署完成"] -.->|自动注册| CacheCloud
|
||||
Main["XINFRA 主系统"] -.->|SSO| CacheCloud
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础服务交付流程中,Redis 部署完成后自动注册至 CacheCloud
|
||||
- 配合应用侧治理解决大 Key / 热 Key 性能问题
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Apollo(配置中心)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
携程开源的分布式配置中心,统一管理各业务线应用配置。
|
||||
|
||||
### 核心能力
|
||||
- **多机房部署** — 支持 Cluster 模式,7 机房独立部署
|
||||
- **配置灰度** — 配置变更可灰度发布,降低变更风险
|
||||
- **版本回滚** — 配置历史版本管理,异常时一键回滚
|
||||
- **操作审计** — 配置变更全程记录,可追溯
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
App["业务应用"] -->|ConfigService| Apollo["Apollo"]
|
||||
Apollo -->|配置下发| RKE2["RKE2 集群"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| Apollo
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 本地缓存降级保障多机房配置一致性
|
||||
- 灰度发布验证避免配置下发错误
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Grafana(监控可视化)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
统一监控可视化平台,对接 VictoriaMetrics 等数据源。
|
||||
|
||||
### 核心能力
|
||||
- **仪表盘** — 集群、节点、应用多维度监控面板
|
||||
- **PromQL 查询** — 直接查询 VictoriaMetrics 中的指标数据
|
||||
- **告警可视化** — 告警规则与历史趋势展示
|
||||
- **多数据源** — 支持 VictoriaMetrics、Zabbix 等多种数据源
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
VM["VictoriaMetrics"] -->|PromQL| Grafana["Grafana"]
|
||||
Zabbix["Zabbix"] -->|数据源| Grafana
|
||||
Main["XINFRA 主系统"] -.->|SSO| Grafana
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 直接复用现有 Grafana 仪表盘,无需主系统重建监控视图
|
||||
- 主系统资源状态看板侧重告警聚合,Grafana 侧重指标可视化
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — qpass(密码管理平台)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
企业级密码管理平台,统一管理各业务线和基础设施的账号密码。
|
||||
|
||||
### 核心能力
|
||||
- **密码托管** — 集中存储和管理各类账号密码、密钥、证书
|
||||
- **权限控制** — 基于 RBAC 的密码访问权限,按业务线隔离
|
||||
- **审计追溯** — 密码访问、修改、共享全程记录
|
||||
- **自动轮换** — 支持定期密码轮换策略,降低泄露风险
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
QPass["qpass"] -->|密码分发| RKE2["RKE2 集群"]
|
||||
QPass -->|密码注入| DB["MySQL / Redis"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| QPass
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础设施部署完成后,密码由 qpass 统一管理并注入
|
||||
- 配合 Ansible 实现自动化密码分发与轮换
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 平台分层架构 — 基础设施层
|
||||
@@ -713,6 +490,228 @@ sequenceDiagram
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
section: 对接子系统
|
||||
layout: center
|
||||
---
|
||||
|
||||
# 三、对接子系统
|
||||
|
||||
<div class="text-gray-400 mt-2">Wayne · CloudDM · CacheCloud · Apollo · Grafana · qpass</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Wayne(多集群容器管理)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
多集群 Kubernetes 容器管理平台,统一管理 7 机房 RKE2 集群。
|
||||
|
||||
### 核心能力
|
||||
- **多集群纳管** — 通过 Client-Go 对接各机房 RKE2 集群 API
|
||||
- **应用部署** — 支持 Deployment、StatefulSet 等 K8s 工作负载管理
|
||||
- **CI/CD 集成** — 对外提供 APIKey,GitLab CI 自动触发部署
|
||||
- **一键回滚** — 应用发布异常时快速回滚至历史版本
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
CI["GitLab CI"] -->|APIKey 认证| Wayne["Wayne"]
|
||||
Wayne -->|Client-Go| RKE2["RKE2 集群"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| Wayne
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 独立 WebUI + API 服务
|
||||
- APIKey 遵循最小权限原则
|
||||
- 主系统通过 SSO 跳转,各自维护操作审计
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — CloudDM(数据库管理与 SQL 审核)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
SQL 审核与变更平台,统一管控数据库上线流程。
|
||||
|
||||
### 核心能力
|
||||
- **SQL 审核** — 上线前自动检查 SQL 语句合规性与风险
|
||||
- **多库支持** — 原生支持 MySQL,后续扩展 PostgreSQL 等
|
||||
- **变更执行** — 审核通过后通过 Sidecar SQL 代理执行变更
|
||||
- **操作审计** — 所有 SQL 操作全程记录,可追溯
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
User["DBA / 开发"] --> CloudDM["CloudDM"]
|
||||
CloudDM -->|Sidecar 代理| MySQL[("MySQL")]
|
||||
Deploy["服务部署完成"] -.->|自动注册| CloudDM
|
||||
Main["XINFRA 主系统"] -.->|SSO| CloudDM
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础服务交付流程中,MySQL 部署完成后自动注册至 CloudDM
|
||||
- 白名单机制防止规则误判拦截合法 SQL
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — CacheCloud(Redis 缓存管理)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
Redis 实例生命周期管理平台,覆盖创建、监控、运维全流程。
|
||||
|
||||
### 核心能力
|
||||
- **实例管理** — Redis 实例的创建、扩缩容、下线
|
||||
- **Agent 模式** — 通过 Agent 远程管理各机房 Redis 实例
|
||||
- **诊断工具** — 大 Key / 热 Key 检测,慢查询分析
|
||||
- **监控集成** — 实例指标上报至 VictoriaMetrics
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
User["运维人员"] --> CacheCloud["CacheCloud"]
|
||||
CacheCloud -->|Agent| Redis[("Redis")]
|
||||
Deploy["服务部署完成"] -.->|自动注册| CacheCloud
|
||||
Main["XINFRA 主系统"] -.->|SSO| CacheCloud
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础服务交付流程中,Redis 部署完成后自动注册至 CacheCloud
|
||||
- 配合应用侧治理解决大 Key / 热 Key 性能问题
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Apollo(配置中心)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
携程开源的分布式配置中心,统一管理各业务线应用配置。
|
||||
|
||||
### 核心能力
|
||||
- **多机房部署** — 支持 Cluster 模式,7 机房独立部署
|
||||
- **配置灰度** — 配置变更可灰度发布,降低变更风险
|
||||
- **版本回滚** — 配置历史版本管理,异常时一键回滚
|
||||
- **操作审计** — 配置变更全程记录,可追溯
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
App["业务应用"] -->|ConfigService| Apollo["Apollo"]
|
||||
Apollo -->|配置下发| RKE2["RKE2 集群"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| Apollo
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 本地缓存降级保障多机房配置一致性
|
||||
- 灰度发布验证避免配置下发错误
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — Grafana(监控可视化)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
统一监控可视化平台,对接 VictoriaMetrics 等数据源。
|
||||
|
||||
### 核心能力
|
||||
- **仪表盘** — 集群、节点、应用多维度监控面板
|
||||
- **PromQL 查询** — 直接查询 VictoriaMetrics 中的指标数据
|
||||
- **告警可视化** — 告警规则与历史趋势展示
|
||||
- **多数据源** — 支持 VictoriaMetrics、Zabbix 等多种数据源
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
VM["VictoriaMetrics"] -->|PromQL| Grafana["Grafana"]
|
||||
Zabbix["Zabbix"] -->|数据源| Grafana
|
||||
Main["XINFRA 主系统"] -.->|SSO| Grafana
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 直接复用现有 Grafana 仪表盘,无需主系统重建监控视图
|
||||
- 主系统资源状态看板侧重告警聚合,Grafana 侧重指标可视化
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 子系统 — qpass(密码管理平台)
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
<div>
|
||||
|
||||
### 定位
|
||||
企业级密码管理平台,统一管理各业务线和基础设施的账号密码。
|
||||
|
||||
### 核心能力
|
||||
- **密码托管** — 集中存储和管理各类账号密码、密钥、证书
|
||||
- **权限控制** — 基于 RBAC 的密码访问权限,按业务线隔离
|
||||
- **审计追溯** — 密码访问、修改、共享全程记录
|
||||
- **自动轮换** — 支持定期密码轮换策略,降低泄露风险
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
### 关键对接
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
QPass["qpass"] -->|密码分发| RKE2["RKE2 集群"]
|
||||
QPass -->|密码注入| DB["MySQL / Redis"]
|
||||
Main["XINFRA 主系统"] -.->|SSO| QPass
|
||||
```
|
||||
|
||||
### 说明
|
||||
- 基础设施部署完成后,密码由 qpass 统一管理并注入
|
||||
- 配合 Ansible 实现自动化密码分发与轮换
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
section: 架构描述
|
||||
layout: center
|
||||
@@ -720,7 +719,7 @@ layout: center
|
||||
|
||||
# 四、架构描述
|
||||
|
||||
<div class="text-gray-400 mt-2">技术选型 · 数据库设计 · 安全机制 · 运维模型</div>
|
||||
<div class="text-gray-400 mt-2">技术选型 · 安全机制 · 运维模型</div>
|
||||
|
||||
---
|
||||
layout: default
|
||||
@@ -767,107 +766,6 @@ layout: default
|
||||
|
||||
---
|
||||
|
||||
# API 设计规范
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4 text-sm">
|
||||
<div>
|
||||
|
||||
| 规范项 | 约定 |
|
||||
|--------|------|
|
||||
| 路由命名 | RESTful 风格,资源名复数 |
|
||||
| 版本管理 | URL 路径版本 `/api/v1/...` |
|
||||
| 分页 | `?page=1&pageSize=20`,响应含 `total` |
|
||||
| 排序 | `?sort=created_at&order=desc` |
|
||||
| 筛选 | `?status=running&businessLine=kodo` |
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
| 规范项 | 约定 |
|
||||
|--------|------|
|
||||
| 错误码 | HTTP 状态码 + 业务错误码 |
|
||||
| 认证 | Bearer Token(JWT),OAuth 2.0 获取 |
|
||||
| 响应格式 | `{ "code": 0, "data": {...} }` |
|
||||
| 接口文档 | Swagger/OpenAPI 3.0 |
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### 路由示例
|
||||
|
||||
```
|
||||
GET /api/v1/clusters # 集群列表
|
||||
GET /api/v1/clusters/:id/nodes # 集群节点
|
||||
POST /api/v1/tasks # 创建任务
|
||||
GET /api/v1/audit-logs?page=1&pageSize=20
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 数据库 ER 设计(核心表)
|
||||
|
||||
<div class="mt-2">
|
||||
|
||||
```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"
|
||||
}
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 安全机制
|
||||
|
||||
<div class="grid grid-cols-2 gap-6 mt-4">
|
||||
|
||||
Reference in New Issue
Block a user