vault backup: 2026-07-10 13:54:27
This commit is contained in:
+76
-43
@@ -7,7 +7,7 @@ create time: 2026-07-08 13:54
|
||||
|
||||
## 概述
|
||||
|
||||
XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池化**为核心,提供容器编排、多集群管理、数据库治理、缓存管理、CI/CD 自动化、安全态势感知、大内网互联和多云成本管控等一站式能力。
|
||||
XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池化**为核心,提供容器编排、多集群管理、数据库治理、缓存管理、CI/CD 自动化、安全态势感知、大内网互联和资源开销管控等一站式能力。
|
||||
|
||||
**核心目标**:
|
||||
|
||||
@@ -17,11 +17,11 @@ XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池
|
||||
| 2 | 多机房资源池化 | 七机房 RKE2 集群统一纳管,实现跨机房调度与服务发现 |
|
||||
| 3 | 安全合规 | 数据库操作全程审计、SQL 上线必须经过审核、WAF 防护常态化 |
|
||||
| 4 | 效率提升 | CI/CD 流水线自动触发部署,Ansible 实现基础设施即代码 |
|
||||
| 5 | 成本可见 | 多云资源成本统一归集,按部门/项目/机房维度呈现 |
|
||||
| 5 | 指标面板 | 按部门/项目/机房维度呈现资源开销 |
|
||||
|
||||
**设计原则**:
|
||||
|
||||
- **最小权限**:所有操作默认走 RBAC,APIKey 遵循最小授权范围
|
||||
- **最小权限**:子系统操作默认走 RBAC,主系统以 LDAP 身份 + 管理员角色区分权限,APIKey 遵循最小授权范围
|
||||
- **审计留痕**:数据库变更、容器发布、权限申请等关键操作全程可追溯
|
||||
- **机房就近**:服务部署和数据访问遵循机房就近原则,降低跨机房延迟
|
||||
- **平台化自治**:自助申请资源、自助发布、自助诊断,减少人工工单流转
|
||||
@@ -34,7 +34,7 @@ XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池
|
||||
|
||||
| 概念 | 定义 |
|
||||
|------|------|
|
||||
| 主系统 | XINFRA 平台自身的统管层,负责子系统无法覆盖的能力,如跨子系统的权限收敛、统一入口、全局调度和审计聚合 |
|
||||
| 主系统 | XINFRA 平台自身的统管层,负责子系统无法覆盖的能力,如跨子系统的权限收敛、统一入口、全局调度、审计聚合、监控指标聚合和统一 DashBoard |
|
||||
| 子系统 | XINFRA 纳管的专项平台(有独立 WebUI 和 API 服务),各司其职:**CloudDM**(数据库管理与 SQL 审核)、**Wayne**(多集群容器管理)、**CacheCloud**(Redis 缓存管理) |
|
||||
| 工具层 | 纳管的 CLI / IaC 工具,无常驻 WebUI,由运维人员通过命令行或脚本触发:**Ansible Playbook**(自动化部署与基础设施即代码) |
|
||||
|
||||
@@ -54,7 +54,7 @@ XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池
|
||||
| Console + Sidecar | CloudDM 的集群部署模式,Console 负责管理界面,Sidecar 负责实际 SQL 执行和代理 |
|
||||
| Air-gap | 离线部署模式,适配无外网访问的内网环境,所有依赖包需预先下载 |
|
||||
| Harbor | 企业级容器镜像仓库,用于存储和分发 Docker/OCI 镜像 |
|
||||
| 跨系统认证 | 主系统统一 LDAP 认证,一个主系统用户对应各子系统中的多个用户(1:N 映射)。主系统管身份(Authentication),子系统管授权(Authorization) |
|
||||
| 跨系统认证 | 主系统统一 LDAP 认证,LDAP 账号、主系统用户、子系统用户三者一一对应(1:1:1 映射)。主系统管身份(Authentication),子系统管授权(Authorization) |
|
||||
| containerd | K8s 默认的容器运行时(CRI 标准),负责容器生命周期管理,取代 Docker |
|
||||
|
||||
## 平台架构总览
|
||||
@@ -71,9 +71,9 @@ graph TB
|
||||
subgraph 平台层["平台层(主系统 + 子系统)"]
|
||||
subgraph 主系统["主系统(XINFRA 统管层)"]
|
||||
Portal[统一门户<br/>LDAP 认证入口]
|
||||
AuditAgg[审计聚合中心]
|
||||
DashBoard[DashBoard<br/>审计 + 监控聚合]
|
||||
CICD[CI/CD 流水线]
|
||||
CostBoard[多云成本看板]
|
||||
CostBoard[资源指标面板]
|
||||
OpsTerminal[运维终端<br/>Ansible / SSH<br/>「仅管理员」]
|
||||
end
|
||||
subgraph 子系统["子系统(独立部署,各自授权)"]
|
||||
@@ -109,19 +109,19 @@ graph TB
|
||||
Harbor[(Harbor 镜像仓库)]
|
||||
end
|
||||
|
||||
Dev -->|1: N 用户映射| Portal
|
||||
DBA -->|1: N 用户映射| Portal
|
||||
SRE -->|1: N 用户映射| Portal
|
||||
Sec -->|1: N 用户映射| Portal
|
||||
Dev -->|1:1:1 用户映射| Portal
|
||||
DBA -->|1:1:1 用户映射| Portal
|
||||
SRE -->|1:1:1 用户映射| Portal
|
||||
Sec -->|1:1:1 用户映射| Portal
|
||||
Portal --> Wayne
|
||||
Portal --> CICD
|
||||
Portal --> CloudDM
|
||||
Portal --> CacheCloud
|
||||
Portal --> CostBoard
|
||||
SRE --> OpsTerminal
|
||||
Wayne -.->|审计上报| AuditAgg
|
||||
CloudDM -.->|审计上报| AuditAgg
|
||||
CacheCloud -.->|审计上报| AuditAgg
|
||||
Wayne -.->|审计上报| DashBoard
|
||||
CloudDM -.->|审计上报| DashBoard
|
||||
CacheCloud -.->|审计上报| DashBoard
|
||||
|
||||
Wayne -->|Client-Go| RKE2
|
||||
CloudDM -->|SQL 审核接入<br/>MySQL / PG / Oracle / CH / MongoDB| MySQL
|
||||
@@ -142,6 +142,7 @@ graph TB
|
||||
CacheCloud -.->|Metrics| Prometheus
|
||||
Prometheus --> Grafana
|
||||
Prometheus --> Alert
|
||||
Prometheus -.->|监控指标| DashBoard
|
||||
Sec -->|安全事件查询| Ingress
|
||||
|
||||
CostBoard -.->|云账单 API| CH
|
||||
@@ -153,14 +154,14 @@ graph TB
|
||||
classDef monitor fill:#fff7ed,stroke:#ea580c,stroke-width:2px
|
||||
classDef infra fill:#ecfdf5,stroke:#059669,stroke-width:2px
|
||||
class Wayne,CloudDM,CacheCloud subsystem
|
||||
class Portal,AuditAgg,CICD,CostBoard,OpsTerminal mainsys
|
||||
class Portal,DashBoard,CICD,CostBoard,OpsTerminal mainsys
|
||||
class Ansible tool
|
||||
class Prometheus,Grafana,Alert monitor
|
||||
class Ingress,RKE2,Network infra
|
||||
```
|
||||
|
||||
> [!tip] 图例说明
|
||||
> - **紫色节点** = 主系统(XINFRA 统管层:统一门户、审计聚合、CI/CD、成本看板、运维终端)
|
||||
> - **紫色节点** = 主系统(XINFRA 统管层:统一门户、DashBoard 审计+监控聚合、CI/CD、指标面板、运维终端)
|
||||
> - **蓝色节点** = 子系统(有独立 WebUI 的平台:Wayne、CloudDM、CacheCloud)
|
||||
> - **黄色节点** = 工具层(CLI/IaC 脚本,无常驻 WebUI:Ansible Playbook)
|
||||
> - **橙色节点** = 监控告警(外部依赖:Prometheus + Grafana + 告警路由)
|
||||
@@ -175,8 +176,8 @@ graph TB
|
||||
| 开发人员 | 编写代码、提交发布、申请数据库/缓存资源 | Wayne、CI/CD、CloudDM、CacheCloud |
|
||||
| DBA | SQL 审核、数据库性能优化、容量规划 | CloudDM |
|
||||
| SRE / 运维 | 集群维护、自动化部署、故障响应 | Wayne、Ansible、RKE2 |
|
||||
| 安全团队 | WAF 策略制定、安全审计、合规检查 | WAF、CloudDM(审计日志) |
|
||||
| 平台管理员 | 账号权限管理、资源配置、平台运维 | 全模块管理后台 |
|
||||
| 安全团队 | WAF 策略制定、安全审计、合规检查 | WAF、CloudDM(审计日志)、DashBoard(安全事件面板) |
|
||||
| 平台管理员 | 账号权限管理、资源配置、平台运维 | 全模块管理后台、DashBoard |
|
||||
|
||||
---
|
||||
|
||||
@@ -216,9 +217,9 @@ graph TB
|
||||
| FR-2.2 | RBAC 权限管理,部门角色与项目角色分离(Project → Environment → Namespace 三级结构) | P0 |
|
||||
| FR-2.3 | 提供表单式(基础模式)和 YAML/JSON 编辑(高级模式)两种 K8s 对象创建方式 | P0 |
|
||||
| FR-2.4 | 发布历史记录与一键回滚能力 | P0 |
|
||||
| FR-2.5 | 完整审计模块,每次操作留痕,支持自定义 Webhook 回调 | P0 |
|
||||
| FR-2.5 | 完整审计模块,每次操作留痕,支持自定义 Webhook 回调;审计数据同时上报主系统 DashBoard | P0 |
|
||||
| FR-2.6 | Web Shell 远程终端(基于权限校验的 Pod Exec) | P1 |
|
||||
| FR-2.7 | 资源报表(资源使用占比、上线频次图表) | P1 |
|
||||
| FR-2.7 | 资源报表(资源使用占比、上线频次图表),核心指标同步至主系统 DashBoard | P1 |
|
||||
| FR-2.8 | APIKey 开放接口,支持 CI/CD 流水线调用 | P0 |
|
||||
| FR-2.9 | 认证支持 DB 内置 + LDAP 混合模式 | P0 |
|
||||
| FR-2.10 | YAML 模板版本锁定,纳入代码仓库管理 | P1 |
|
||||
@@ -251,7 +252,7 @@ graph TB
|
||||
| FR-3.6 | 数据脱敏能力,对查询结果中的敏感字段进行隐藏或转换 | P1 |
|
||||
| FR-3.7 | 数据库 CI/CD:支持 Git Push / WebHook / HttpCall 三种触发方式 | P1 |
|
||||
| FR-3.8 | 统一认证:支持 OpenLDAP / OIDC SSO | P1 |
|
||||
| FR-3.9 | 全程审计留痕,工单流转记录可追溯 | P0 |
|
||||
| FR-3.9 | 全程审计留痕,工单流转记录可追溯;审计数据同时上报主系统 DashBoard | P0 |
|
||||
|
||||
**用户故事**:
|
||||
|
||||
@@ -282,7 +283,7 @@ graph TB
|
||||
| FR-4.5 | 跨机房部署(Cross-Room):支持双活,客户端 SDK 自动双写双读和机房切换 | P1 |
|
||||
| FR-4.6 | 运维能力:全局统计、工单审批、应用运维、实例运维、数据迁移 | P0 |
|
||||
| FR-4.7 | 诊断工具:慢查询分析、连接数诊断、Bigkey 检测 | P1 |
|
||||
| FR-4.8 | 报警组件:支持邮件、微信、HTTP 接口集成 | P0 |
|
||||
| FR-4.8 | 报警组件:支持邮件、微信、HTTP 接口集成;告警事件同步至主系统 DashBoard 告警概览 | P0 |
|
||||
| FR-4.9 | 临时实例自动回收策略,防止资源浪费 | P1 |
|
||||
|
||||
**用户故事**:
|
||||
@@ -355,7 +356,7 @@ graph TB
|
||||
| FR-7.1 | 支持常见 Web 攻击防护(SQL 注入、XSS、CSRF 等) | P0 |
|
||||
| FR-7.2 | 安全规则可按业务场景自定义和调整 | P1 |
|
||||
| FR-7.3 | 安全事件实时告警,支持与企业 IM 集成 | P0 |
|
||||
| FR-7.4 | 安全日志可查询和分析,支持审计追溯 | P0 |
|
||||
| FR-7.4 | 安全日志可查询和分析,支持审计追溯;安全日志同步至主系统 DashBoard 安全面板 | P0 |
|
||||
|
||||
**验收标准**:
|
||||
- WAF 覆盖所有对外暴露的 HTTP/HTTPS 入口
|
||||
@@ -382,23 +383,53 @@ graph TB
|
||||
|
||||
---
|
||||
|
||||
### FR-9 多云成本看板
|
||||
### FR-9 资源指标面板
|
||||
|
||||
> 统一归集多云资源成本,按业务维度可视化呈现。
|
||||
> 按部门、项目、机房维度归集和呈现资源开销。
|
||||
|
||||
**目标**:管理层和团队负责人可按部门、项目、机房维度查看资源成本。
|
||||
**目标**:管理层和团队负责人可按部门、项目、机房维度查看资源开销。
|
||||
|
||||
| 编号 | 需求描述 | 优先级 |
|
||||
|------|---------|--------|
|
||||
| FR-9.1 | 支持多云厂商(AWS、阿里云、腾讯云等)成本数据接入 | P1 |
|
||||
| FR-9.2 | 按部门 / 项目 / 机房三个维度聚合展示成本 | P0 |
|
||||
| FR-9.3 | 支持月度/季度成本趋势对比 | P1 |
|
||||
| FR-9.1 | 支持多云厂商(AWS、阿里云、腾讯云等)资源开销数据接入 | P1 |
|
||||
| FR-9.2 | 按部门 / 项目 / 机房三个维度聚合展示资源开销 | P0 |
|
||||
| FR-9.3 | 支持月度/季度资源开销趋势对比 | P1 |
|
||||
| FR-9.4 | 资源闲置告警,识别利用率过低的资源 | P2 |
|
||||
|
||||
**验收标准**:
|
||||
- 成本数据延迟 < 24 小时
|
||||
- 数据延迟 < 24 小时
|
||||
- 支持按维度下钻到具体资源粒度
|
||||
- 云资源通过各厂商 Billing API 经 Exporter 采集入 ClickHouse;自建机房成本由 Prometheus 节点指标 + SNMP 网络指标汇总,按 Namespace → Project → Department 路径归属
|
||||
- 自建机房资源开销由 Prometheus 节点指标 + SNMP 网络指标汇总,按 Namespace → Project → Department 路径归属
|
||||
|
||||
---
|
||||
|
||||
### FR-10 统一 DashBoard(审计 + 监控聚合)
|
||||
|
||||
> 将各子系统的审计日志和关键监控指标前移至主系统,提供统一查询入口,减少跨系统跳转。
|
||||
|
||||
**目标**:管理员和安全团队在主系统 DashBoard 即可查看全平台审计记录和监控概览,无需逐个进入子系统。
|
||||
|
||||
| 编号 | 需求描述 | 优先级 |
|
||||
|------|---------|--------|
|
||||
| FR-10.1 | 聚合子系统审计日志(Wayne 操作审计、CloudDM 工单审计、CacheCloud 操作审计),支持按时间/操作人/子系统/操作类型筛选查询 | P0 |
|
||||
| FR-10.2 | 关键监控指标聚合展示:集群节点状态、Pod 异常数、Redis 实例健康度、SQL 工单通过率/拒绝率 | P1 |
|
||||
| FR-10.3 | 安全事件面板:WAF 拦截事件聚合、异常登录检测、敏感操作告警 | P1 |
|
||||
| FR-10.4 | 统一告警概览:汇总各子系统告警(CacheCloud 报警、Wayne 部署异常等),按严重级别(Critical / Warning / Info)分组展示 | P1 |
|
||||
| FR-10.5 | 数据源接入规范:子系统通过 HTTP Webhook 上报审计日志,监控指标通过 PromQL 从 Prometheus 查询 | P0 |
|
||||
| FR-10.6 | 权限控制:管理员角色可查看全局 DashBoard;普通用户仅查看所属项目/部门范围内的审计和监控数据 | P0 |
|
||||
| FR-10.7 | DashBoard 前端集成到主系统统一门户,无需独立部署 | P0 |
|
||||
|
||||
**用户故事**:
|
||||
|
||||
> 作为平台管理员,我希望登录主系统后直接看到全平台审计日志和监控概览,快速定位异常操作和系统告警,而不必逐个登录 Wayne、CloudDM、CacheCloud 分别查看。
|
||||
|
||||
> 作为安全团队成员,我希望在 DashBoard 的安全事件面板中集中查看 WAF 拦截记录和异常登录事件,便于安全审计和合规检查。
|
||||
|
||||
**验收标准**:
|
||||
- 子系统审计日志实时上报,DashBoard 查询延迟 < 5s
|
||||
- 监控指标数据与 Grafana 源数据一致,刷新间隔 ≤ 1min
|
||||
- 普通用户只能看到自身权限范围内的数据,无越权
|
||||
- DashBoard 作为主系统页面模块,可从统一门户直接访问
|
||||
|
||||
---
|
||||
|
||||
@@ -423,7 +454,7 @@ graph TB
|
||||
|
||||
### 安全
|
||||
|
||||
- 所有平台操作经过 RBAC 权限校验
|
||||
- 子系统操作经过 RBAC 权限校验,主系统以 LDAP 身份 + 管理员角色区分权限
|
||||
- 数据库操作全程审计留痕
|
||||
- 敏感数据(Secret、密码)加密存储
|
||||
- 生产环境禁止使用默认凭证
|
||||
@@ -455,18 +486,18 @@ graph LR
|
||||
end
|
||||
|
||||
subgraph 平台层
|
||||
Portal -->|1:N 用户映射| Wayne
|
||||
Portal -->|1:N 用户映射| CloudDM
|
||||
Portal -->|1:N 用户映射| CacheCloud
|
||||
Portal -->|1:1:1 用户映射| Wayne
|
||||
Portal -->|1:1:1 用户映射| CloudDM
|
||||
Portal -->|1:1:1 用户映射| CacheCloud
|
||||
Wayne -->|Client-Go| K8s[RKE2 集群]
|
||||
CloudDM -->|Sidecar SQL 代理| MySQL[(MySQL)]
|
||||
CacheCloud -->|Agent 管理| Redis[(Redis)]
|
||||
Ansible -->|SSH| K8s
|
||||
Ansible -->|SSH| MySQL
|
||||
Ansible -->|SSH| Redis
|
||||
Wayne -.->|审计上报| AuditAgg[审计聚合]
|
||||
CloudDM -.->|审计上报| AuditAgg
|
||||
CacheCloud -.->|审计上报| AuditAgg
|
||||
Wayne -.->|审计上报| DashBoard[DashBoard<br/>审计+监控聚合]
|
||||
CloudDM -.->|审计上报| DashBoard
|
||||
CacheCloud -.->|审计上报| DashBoard
|
||||
end
|
||||
|
||||
subgraph 跨集群
|
||||
@@ -488,11 +519,12 @@ graph LR
|
||||
Redis -.->|Metrics| Prometheus
|
||||
Prometheus --> Grafana[Grafana]
|
||||
Prometheus --> Alert[告警路由]
|
||||
Prometheus -.->|监控指标| DashBoard
|
||||
end
|
||||
|
||||
subgraph 成本采集
|
||||
subgraph 开销采集
|
||||
CloudAPI[云厂商 Billing API] -->|Exporter| CH[(ClickHouse)]
|
||||
Prometheus -->|节点/网络指标| CostBoard[成本看板]
|
||||
Prometheus -->|节点/网络指标| CostBoard[资源指标面板]
|
||||
CH --> CostBoard
|
||||
end
|
||||
```
|
||||
@@ -501,7 +533,7 @@ graph LR
|
||||
|
||||
| 源 | 目标 | 接口方式 | 说明 |
|
||||
|----|------|---------|------|
|
||||
| 企业 LDAP | XINFRA 统一门户 | LDAP Bind | 统一身份认证,1:N 用户映射到子系统 |
|
||||
| 企业 LDAP | XINFRA 统一门户 | LDAP Bind | 统一身份认证,LDAP、主系统、子系统用户一一对应(1:1:1) |
|
||||
| XINFRA 统一门户 | 各子系统 | 内部 API / 会话代理 | 用户选择子系统后代入本地身份 |
|
||||
| GitLab CI | Wayne | REST API(APIKey 认证) | 自动触发部署 |
|
||||
| GitLab CI | Harbor | Docker Push | 镜像推送 |
|
||||
@@ -509,9 +541,10 @@ graph LR
|
||||
| CloudDM | MySQL | Sidecar SQL 代理 | SQL 审核执行 |
|
||||
| CacheCloud | Redis | Agent(SSH + 心跳) | 实例生命周期管理 |
|
||||
| Ansible | 各主机 | SSH | 基础设施初始化部署 |
|
||||
| 各子系统 | 审计聚合中心 | HTTP Webhook | 操作审计统一归集 |
|
||||
| 各子系统 | DashBoard | HTTP Webhook | 审计日志统一归集到 DashBoard |
|
||||
| 各子系统 + 基础设施 | Prometheus | HTTP / Exporter | Metrics 采集 |
|
||||
| 云厂商 Billing API | ClickHouse | Exporter 定时拉取 | 多云成本数据归集 |
|
||||
| Prometheus | DashBoard | PromQL 查询 | 关键监控指标聚合到 DashBoard |
|
||||
| 云厂商 Billing API | ClickHouse | Exporter 定时拉取 | 多云资源开销数据归集 |
|
||||
| Prometheus | 告警路由 | Alertmanager | 统一告警(邮件 / 企业 IM) |
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user