diff --git a/xinfra/architecture.md b/xinfra/architecture.md
new file mode 100644
index 0000000..b6e6d64
--- /dev/null
+++ b/xinfra/architecture.md
@@ -0,0 +1,311 @@
+---
+tags: [xinfra, architecture, infra]
+create time: 2026-07-13 16:00
+---
+
+# XINFRA 架构文档
+
+## 概述
+
+本文档描述 XINFRA 平台的总体架构设计、技术选型、分层模型和系统集成关系。
+
+## 核心概念
+
+### 组内约定
+
+| 概念 | 定义 |
+|------|------|
+| 主系统 | XINFRA 平台自身的统管层,负责子系统无法覆盖的能力:统一门户(SSO 跳转入口)、资源大盘、登录审计与运维操作审计、资源指标面板、运维终端 |
+| 子系统 | XINFRA 纳管的专项平台(有独立 WebUI 和 API 服务),各司其职:**Wayne**(多集群容器管理)、**CloudDM / open-cdm**(数据库管理与 SQL 审核)、**CacheCloud**(Redis 缓存管理)、**Apollo**(配置中心)、**Nightingale**(统一告警引擎) |
+| 工具层 | 纳管的 CLI / IaC 工具,无常驻 WebUI,由运维人员通过命令行或脚本触发:**Ansible Playbook**(自动化部署与基础设施即代码) |
+| 业务线租户 | 基于 LDAP 组织信息自动生成的多租户隔离单元,每个业务线拥有独立的命名空间、节点池和资源配额 |
+
+### 通用术语
+
+| 概念 | 定义 |
+|------|------|
+| APIKey | Wayne 平台对外提供的 API 认证密钥,用于 CI/CD 流水线等自动化场景的身份认证,遵循最小权限原则 |
+| RBAC | 基于角色的访问控制(Role-Based Access Control),通过角色分配权限,用户与角色关联实现权限隔离 |
+| RKE2 | Rancher 发行的 Kubernetes 发行版,已通过 CIS Benchmark 安全加固,支持离线 air-gap 安装,默认启用加密和审计 |
+| Calico BGP | Calico 采用纯路由模式(BGP),无隧道开销,每个集群配置独立 AS 号,构建跨机房扁平大二层网络 |
+| Ceph RBD | 分布式块存储,供给 K8s PV 给 MySQL、Redis 等有状态服务 |
+| Nightingale | 夜莺,统一告警聚合引擎,支持接入 Zabbix、VictoriaMetrics 等异构告警源,负责去重、收敛、分级,推送至 qpass |
+| Apollo | 携程开源配置中心,支持多机房 Cluster 部署、配置灰度、版本回滚和操作审计 |
+| Consul | 各机房已有的服务注册发现系统,xinfra 通过 Catalog API 做只读聚合展示 |
+| CD | 持续部署(Continuous Deployment),自动化服务上线的流水线;CI(持续集成)由团队已有 CI 系统负责 |
+| WAF | Web 应用防火墙(Web Application Firewall),防护 SQL 注入、XSS、CSRF 等常见 Web 攻击 |
+| SLA | 服务等级协议(Service Level Agreement),定义服务可用性的承诺指标 |
+| IaC | 基础设施即代码(Infrastructure as Code),通过 Ansible Playbook 等工具实现基础设施自动化管理 |
+| SINA CMDB | 公司内部 CMDB 系统,物理机与虚机资产数据的基础来源 |
+| open-cdm | SQL 审核与变更平台,数据库上线统一审核 |
+| qpass | 统一告警与值班通知平台 |
+| SSO | 单点登录(Single Sign-On),主系统通过 LDAP 统一认证后跳转至各子系统 |
+
+---
+
+## 平台分层架构
+
+### 总体分层
+
+```mermaid
+graph TB
+ User["用户层
LDAP SSO 统一认证"] --> Main["主系统层
统一门户 + 功能模块"]
+ Main --> Sub["子系统层
独立部署,各自授权"]
+ Main --> Infra["基础设施层
计算 · 网络 · 存储 · 自动化"]
+ Sub --> Infra
+
+ style User fill:#f3e8fd,stroke:#9333ea
+ style Main fill:#e0f2fe,stroke:#0284c7
+ style Sub fill:#e8f0fe,stroke:#4285f4
+ style Infra fill:#ecfdf5,stroke:#059669
+```
+
+---
+
+### 主系统功能架构
+
+```mermaid
+graph TB
+ Portal["统一门户
LDAP SSO 跳转入口"]
+
+ subgraph 全局视图
+ DashBoard["资源大盘
集群拓扑 · 节点方格图"]
+ MonitorView["资源状态看板
物理机/虚机/服务三层告警"]
+ end
+
+ subgraph 运维能力
+ TaskCenter["任务中心
Ansible/Wayne 实时日志"]
+ OpsTerminal["运维终端
Ansible / SSH
仅管理员"]
+ end
+
+ subgraph 治理能力
+ AuditDash["审计面板
登录记录 · 运维操作日志"]
+ CMDB["资源台账
CMDB 多云同步"]
+ SvcDir["服务目录
Consul 只读聚合"]
+ end
+
+ Portal --> DashBoard & MonitorView & TaskCenter & AuditDash & CMDB & SvcDir
+ SRE["SRE"] --> OpsTerminal
+```
+
+> [!tip] 主系统不替代子系统,只自建子系统无法覆盖的能力:全局视图、运维兜底、登录与运维审计、资源台账。
+
+---
+
+### 子系统集成关系
+
+```mermaid
+graph LR
+ Portal["XINFRA 主系统"]
+
+ subgraph 子系统
+ Wayne["Wayne
多集群容器管理"]
+ CloudDM["open-cdm
SQL 审核"]
+ CacheCloud["CacheCloud
Redis 管理"]
+ Apollo["Apollo
配置中心"]
+ end
+
+ Portal -.->|SSO 跳转| Wayne & CloudDM & CacheCloud & Apollo
+
+ Wayne -->|Client-Go| RKE2["RKE2 集群"]
+ CloudDM -->|SQL 审核| MySQL[("MySQL")]
+ CacheCloud -->|Agent| Redis[("Redis")]
+ Apollo -->|ConfigService| RKE2
+```
+
+> [!tip] 子系统各自独立部署和授权,主系统只做 SSO 跳转入口,各子系统自行维护操作审计。
+
+---
+
+### 基础设施层
+
+```mermaid
+graph TB
+ subgraph 计算
+ RKE2["RKE2 集群 × 7 机房
CIS 安全加固"]
+ end
+
+ subgraph 网络
+ Calico["Calico BGP
每集群独立 AS 号
跨机房扁平互通"]
+ end
+
+ subgraph 存储
+ Ceph["Ceph RBD
MySQL/Redis 有状态服务 PV"]
+ end
+
+ subgraph 自动化
+ Ansible["Ansible Playbook
节点初始化 · 服务部署
WebSocket 实时日志"]
+ end
+
+ RKE2 --> Calico
+ RKE2 --> Ceph
+ Ansible -->|SSH| RKE2
+```
+
+> [!tip] RKE2 是计算底座,Calico BGP 构建跨机房扁平网络,Ceph RBD 提供有状态服务的持久化存储,Ansible 贯穿自动化运维。
+
+---
+
+## 监控告警数据流
+
+```mermaid
+graph LR
+ subgraph 采集源
+ RKE2["RKE2 集群"]
+ Zabbix["Zabbix
硬件监控"]
+ end
+
+ subgraph 指标存储
+ VM[("VictoriaMetrics
容器/业务指标")]
+ end
+
+ subgraph 可视化
+ Grafana["Grafana 仪表盘"]
+ end
+
+ subgraph 告警链路
+ Nightingale["夜莺
去重 · 收敛 · 分级"]
+ QPass["qpass
企业 IM 推送"]
+ end
+
+ RKE2 -.->|Metrics| VM
+ VM --> Grafana
+ VM --> Nightingale
+ Zabbix --> Nightingale
+ Nightingale --> QPass
+```
+
+> [!tip] VictoriaMetrics 承载容器和业务指标,Zabbix 覆盖物理机硬件监控,夜莺作为统一告警聚合层,最终推送至 qpass 通知。
+
+---
+
+## 技术选型与架构决策
+
+| 层级 | 选型 | 说明 |
+|------|------|------|
+| **前端框架** | Vue 3 + Element Plus | 企业级 UI 方案,与七牛内部技术栈一致 |
+| **后端框架** | Go + Gin | 高性能 HTTP 框架,与 Wayne/Open-CDM 生态一致 |
+| **前后端通信** | 混合模式 | 前端 REST/JSON,服务间 gRPC;API 版本管理采用 URL 路径版本 `/api/v1/...` |
+| **主系统数据库** | MySQL 8.0 | 存储任务记录、审计日志、资源台账、用户会话等 |
+| **缓存** | Redis | 分布式缓存和会话存储 |
+| **前端部署** | Nginx | 托管前端静态文件 + 反向代理后端 API |
+| **主系统部署** | K8s 内部署 | 以 Deployment 方式运行在 RKE2 集群内 |
+| **SSO 协议** | SAML | 企业统一认证,主系统做 SSO 跳转入口 |
+| **告警数据源** | 仅 Nightingale API | 主系统不直接对接 Zabbix/VictoriaMetrics,统一通过夜莺获取告警数据 |
+| **Ansible 调度** | AWX | 通过 AWX API 提交 Playbook 任务,由 AWX 管理执行和日志 |
+| **实时推送** | 原生 WebSocket | 任务日志实时推送,基于 gorilla/websocket 库 |
+| **接口文档** | Swagger/OpenAPI | 后端生成 Swagger 文档供前端开发 |
+| **界面语言** | 纯中文 | 不需要国际化 |
+| **测试策略** | 后端测试为主 | 单元测试 + 集成测试 |
+
+---
+
+## 基础服务交付流程
+
+```mermaid
+sequenceDiagram
+ actor User as 业务人员
+ participant Portal as XINFRA 服务目录
+ participant Ansible as Ansible Playbook
+ participant Infra as RKE2 / 主机
+ participant Sub as 子系统注册
+
+ User->>Portal: 选择服务卡片(MySQL/Redis/...)
填写业务线、规格、架构模式
+ Portal->>Portal: 实时预览 playbook 参数(YAML)
+ User->>Portal: 确认部署
+ Portal->>Ansible: 提交 playbook 任务
+ Ansible->>Infra: 内核初始化 · containerd · 加入集群
+ Ansible-->>Portal: 任务状态 → WebSocket 实时日志
+ Portal->>Sub: 自动注册(open-cdm / CacheCloud)
+ Portal-->>User: 部署完成,跳转任务中心
+```
+
+> [!tip] 用户通过服务卡片填参 → 后台 Ansible 自动化部署 → 部署完成后自动注册到对应子系统,全程任务日志可在任务中心实时查看。
+
+---
+
+## 多租户隔离模型
+
+```mermaid
+graph TB
+ LDAP["企业 LDAP"] -->|部门 DN| BL["业务线租户
(Kodo / LAS / 灵矽 / ...)"]
+
+ BL --> NS["Kubernetes Namespace
+ ResourceQuota + LimitRange"]
+ BL --> NP["物理节点池
node-label + taint"]
+
+ NS -.->|Pod 只能调度到
本业务线节点| NP
+
+ style LDAP fill:#f3e8fd,stroke:#9333ea
+ style BL fill:#e0f2fe,stroke:#0284c7
+ style NS fill:#ecfdf5,stroke:#059669
+ style NP fill:#fef3c7,stroke:#d97706
+```
+
+> [!tip] 双重隔离:**节点层**通过 `business-line=xxx` 标签 + Taint 确保 Pod 只调度到本业务线节点;**命名空间层**通过 ResourceQuota / LimitRange 限制资源用量上限。
+
+---
+
+## 系统集成关系
+
+**关键集成点**:
+
+| 源 | 目标 | 接口方式 | 说明 |
+|----|------|---------|------|
+| 企业 LDAP | 各子系统 + 主系统 | LDAP Bind / SSO | 统一身份认证,主系统做 SSO 跳转入口 |
+| SINA CMDB | 资源台账 | REST API | 物理机/虚机基础数据来源 |
+| 阿里云 / AWS / 七牛 LAS | 资源台账 | OpenAPI | 云上虚机增量同步 |
+| Consul × 7 DC | 服务目录 | Catalog API | 只读聚合,不改变原有链路 |
+| Nightingale | 资源状态看板 | API | 统一告警数据源 |
+| Zabbix | Nightingale | 告警接入 | 硬件监控告警 |
+| VictoriaMetrics | Nightingale | 告警接入 | 容器/业务指标告警 |
+| GitLab CI | Wayne | REST API(APIKey 认证) | 自动触发部署 |
+| GitLab CI | Harbor | Docker Push | 镜像推送 |
+| Wayne | RKE2 | Client-Go(K8s API) | 容器编排操作 |
+| CloudDM / open-cdm | MySQL / PG 等 | Sidecar SQL 代理 | SQL 审核执行 |
+| CacheCloud | Redis | Agent | 实例生命周期管理 |
+| Apollo | 各业务线 | Config Service API | 配置下发与灰度发布 |
+| Ansible | 各主机 | SSH | 基础设施初始化部署 |
+| 企业 LDAP | 主系统 | LDAP Bind | 登录事件记录至审计面板 |
+| 各子系统 + 基础设施 | VictoriaMetrics | HTTP / Exporter | Metrics 采集 |
+| VictoriaMetrics | Grafana | PromQL | 监控指标可视化(直接复用) |
+| Nightingale | qpass | 告警推送 | 统一告警通知 |
+
+---
+
+## 风险与约束
+
+| 风险 | 影响 | 缓解措施 |
+|------|------|---------|
+| RKE2 版本升级可能引入不兼容变更 | 集群稳定性 | 先在测试环境验证,灰度发布 |
+| Wayne 开源版本维护活跃度不确定 | 功能迭代受限 | 内部 Fork 并保持核心模块可维护 |
+| 七机房网络链路故障 | 跨机房服务中断 | 网络冗余 + BGP 自动切换 + 告警监控 |
+| SQL 审核规则误判 | 合法 SQL 被拦截 | 白名单机制 + 规则持续调优 |
+| Redis 大 Key / 热 Key | 性能劣化 | CacheCloud 诊断工具 + 应用侧治理 |
+| Apollo 多机房配置一致性 | 配置下发错误 | 本地缓存降级 + 灰度发布验证 |
+| Consul 跨机房同步延迟 | 服务发现不一致 | 30 秒轮询 + 健康状态标注 |
+| 云平台 API 限流/不可用 | 资源同步中断 | 增量同步 + 重试机制 + 状态告警 |
+
+---
+
+## 运维分层模型
+
+> 故障按层级自愈,跨层操作需主系统管理员权限。
+
+| 故障层级 | 处理方 | 工具链 | 权限要求 |
+|---------|--------|--------|---------|
+| 应用发布异常 | 子系统自愈 | Wayne 一键回滚 | 项目成员 |
+| 中间件故障 | 子系统自恢复 | CacheCloud / CloudDM 内置运维能力 | 子系统运维角色 |
+| 配置变更异常 | Apollo 回滚 | Apollo 版本回滚 + 灰度发布 | 配置管理员 |
+| 基础设施故障 | 主系统管理员 | Ansible Playbook / SSH 终端 | 仅主系统管理员 |
+| 机房级故障 | 主系统管理员 | Ansible + 大内网链路切换 | 仅主系统管理员 |
+
+> [!warning] 安全约束
+> Ansible / SSH 终端等基础设施级操作仅对主系统管理员角色可见,普通用户菜单中不包含此项。所有跨层操作全程审计留痕。
+
+---
+
+## 关联笔记
+
+- [[requirements]]
+- [[mvp-plan]]
+- [[technical/xinfra-preview]]
diff --git a/xinfra/mvp-plan.md b/xinfra/mvp-plan.md
new file mode 100644
index 0000000..d92d1fa
--- /dev/null
+++ b/xinfra/mvp-plan.md
@@ -0,0 +1,122 @@
+---
+tags: [xinfra, mvp, infra]
+create time: 2026-07-13 16:00
+---
+
+# XINFRA MVP 方案文档
+
+## 概述
+
+本文档明确 MVP 阶段的实现范围、子系统现状评估和对接要点,作为开发启动的行动指南。
+
+## MVP 实现与后续规划
+
+### MVP(当前阶段)
+
+当前尚未实现任何功能,MVP 阶段目标为最小可用集:
+
+- 多租户认证(LDAP + SSO)
+- 子系统对接(Wayne、CloudDM、CacheCloud、Apollo)
+
+详见需求文档 Phase 1 — MVP 章节。
+
+### 后续规划
+
+| 阶段 | 内容 |
+|------|------|
+| Phase 2 — 完整版 | 资源大盘、告警看板、集群管理、CMDB 同步、Consul 同步、基础服务部署、任务中心 |
+| Phase 3 — 运维增强 | etcd 集群运维、高级监控、运维工具 |
+
+长期演进方向:
+- PgSQL 服务正式接入基础服务目录,并集成 open-cdm SQL 审核
+- 海外机房(达拉斯、新加坡、香港、东南亚)Apollo Config Service 建设
+- CacheCloud LDAP 接入改造完成
+- 更多业务线(灵矽、LTOKEN、MAAS)全面接入 Apollo 配置中心
+- 服务拓扑与依赖可视化(增强可观测性)
+- 告警自愈能力探索:部分 P1 告警联动 Ansible Playbook 自动处理
+- 成本分析:各业务线资源使用费用归集与报表
+
+---
+
+## 子系统现状
+
+> 各子系统均为独立部署的成熟产品,XINFRA 主系统负责对接整合,而非重新实现。
+
+### Wayne — 多集群容器管理
+
+| 维度 | 现状 |
+|------|------|
+| 部署状态 | 已部署,七机房 RKE2 集群均已接入 |
+| 核心能力 | 多集群统一管理、RBAC、发布历史、审计模块、APIKey |
+| 对接重点 | SSO 跳转、APIKey 权限范围、审计日志格式 |
+
+### CloudDM / open-cdm — SQL 审核
+
+| 维度 | 现状 |
+|------|------|
+| 部署状态 | 已部署,覆盖主要生产库 |
+| 核心能力 | SQL 审核规则、工单流程、权限控制、数据脱敏 |
+| 对接重点 | LDAP 认证对接、工单状态同步、审计日志格式 |
+
+### CacheCloud — Redis 管理
+
+| 维度 | 现状 |
+|------|------|
+| 部署状态 | 已部署,三种架构均已运行 |
+| 核心能力 | Standalone/Sentinel/Cluster 管理、Agent 监控、运维工具 |
+| 对接重点 | LDAP 接入改造中、实例创建 API、监控数据对接 |
+
+### Apollo — 配置中心
+
+| 维度 | 现状 |
+|------|------|
+| 部署状态 | YZH、XS 正式运行,JF 灰度接入 |
+| 核心能力 | 多机房配置管理、灰度发布、版本回滚、审计 |
+| 对接重点 | Portal 统一入口、机房状态展示、配置项统计 |
+
+### Nightingale — 告警引擎
+
+| 维度 | 现状 |
+|------|------|
+| 部署状态 | 已部署,接入 Zabbix 和 VictoriaMetrics |
+| 核心能力 | 告警去重、收敛、分级、推送至 qpass |
+| 对接重点 | API 数据源对接、告警级别映射、状态同步 |
+
+---
+
+## 子系统对接要点
+
+### SSO 对接
+
+- 主系统作为 SSO 入口,用户登录后通过 SAML/LDAP 跳转至子系统
+- 各子系统需支持 LDAP 认证或已有 SSO 适配
+- 跳转时携带用户身份信息,子系统无需重复登录
+
+### 审计日志
+
+- 主系统记录登录事件和运维终端操作
+- 各子系统自行维护操作审计,主系统不聚合
+- 审计面板统一展示主系统自身的审计数据
+
+### API 对接
+
+- Wayne:通过 APIKey 认证,支持 CI/CD 流水线调用
+- CacheCloud:通过实例创建 API 实现自动注册
+- CloudDM:通过数据源 API 实现自动注册
+- Apollo:通过 Portal API 获取机房状态和配置统计
+
+### 数据同步
+
+- 资源台账:SINA CMDB + 云平台 OpenAPI 增量同步
+- 服务目录:Consul Catalog API 只读聚合
+- 告警数据:Nightingale API 统一获取
+
+---
+
+## 关联笔记
+
+- [[requirements]]
+- [[architecture]]
+- [[technical/xinfra-preview/wayne-overview]]
+- [[technical/xinfra-preview/cloud-dm-overview]]
+- [[technical/xinfra-preview/cachecloud-overview]]
diff --git a/xinfra/requirements.md b/xinfra/requirements.md
index c934bf6..0b18585 100644
--- a/xinfra/requirements.md
+++ b/xinfra/requirements.md
@@ -7,9 +7,7 @@ create time: 2026-07-08 13:54
## 概述
-XINFRA 是面向多业务线、七机房混合云的统一基础设施管理平台,为 Kodo、LAS、灵矽、LTOKEN、MAAS 等业务线提供**容器资源调度、基础服务交付、资源台账、监控告警、配置管理**的一站式操作面。平台以 RKE2 集群为计算底座,通过 Calico BGP 构建扁平容器网络,向上整合 SINA CMDB、Consul、Apollo、Nightingale、CacheCloud 等已有系统,通过统一的 LDAP 认证和可视化界面,屏蔽底层多机房、多云差异,实现**统一纳管、标准化交付、自助使用**。
-
-当前版本为 v3 一期,已覆盖国内华北(YZH)、华东(XS)、华南(JF)及阿里云华南共四个容器化机房和海外若干 IDC,后续将逐步扩展海外区域。
+XINFRA 是面向多业务线、七机房混合云的统一基础设施管理平台,为 Kodo、LAS、灵矽、LTOKEN、MAAS 等业务线提供容器资源调度、基础服务交付、资源台账、监控告警、配置管理的一站式操作面。
**核心目标**:
@@ -33,242 +31,6 @@ XINFRA 是面向多业务线、七机房混合云的统一基础设施管理平
---
-## 核心概念
-
-### 组内约定
-
-| 概念 | 定义 |
-|------|------|
-| 主系统 | XINFRA 平台自身的统管层,负责子系统无法覆盖的能力:统一门户(SSO 跳转入口)、资源大盘、登录审计与运维操作审计、资源指标面板、运维终端 |
-| 子系统 | XINFRA 纳管的专项平台(有独立 WebUI 和 API 服务),各司其职:**Wayne**(多集群容器管理)、**CloudDM / open-cdm**(数据库管理与 SQL 审核)、**CacheCloud**(Redis 缓存管理)、**Apollo**(配置中心)、**Nightingale**(统一告警引擎) |
-| 工具层 | 纳管的 CLI / IaC 工具,无常驻 WebUI,由运维人员通过命令行或脚本触发:**Ansible Playbook**(自动化部署与基础设施即代码) |
-| 业务线租户 | 基于 LDAP 组织信息自动生成的多租户隔离单元,每个业务线拥有独立的命名空间、节点池和资源配额 |
-
-### 通用术语
-
-| 概念 | 定义 |
-|------|------|
-| APIKey | Wayne 平台对外提供的 API 认证密钥,用于 CI/CD 流水线等自动化场景的身份认证,遵循最小权限原则 |
-| RBAC | 基于角色的访问控制(Role-Based Access Control),通过角色分配权限,用户与角色关联实现权限隔离 |
-| RKE2 | Rancher 发行的 Kubernetes 发行版,已通过 CIS Benchmark 安全加固,支持离线 air-gap 安装,默认启用加密和审计 |
-| Calico BGP | Calico 采用纯路由模式(BGP),无隧道开销,每个集群配置独立 AS 号,构建跨机房扁平大二层网络 |
-| Ceph RBD | 分布式块存储,供给 K8s PV 给 MySQL、Redis 等有状态服务 |
-| Nightingale | 夜莺,统一告警聚合引擎,支持接入 Zabbix、VictoriaMetrics 等异构告警源,负责去重、收敛、分级,推送至 qpass |
-| Apollo | 携程开源配置中心,支持多机房 Cluster 部署、配置灰度、版本回滚和操作审计 |
-| Consul | 各机房已有的服务注册发现系统,xinfra 通过 Catalog API 做只读聚合展示 |
-| CD | 持续部署(Continuous Deployment),自动化服务上线的流水线;CI(持续集成)由团队已有 CI 系统负责 |
-| WAF | Web 应用防火墙(Web Application Firewall),防护 SQL 注入、XSS、CSRF 等常见 Web 攻击 |
-| SLA | 服务等级协议(Service Level Agreement),定义服务可用性的承诺指标 |
-| IaC | 基础设施即代码(Infrastructure as Code),通过 Ansible Playbook 等工具实现基础设施自动化管理 |
-| SINA CMDB | 公司内部 CMDB 系统,物理机与虚机资产数据的基础来源 |
-| open-cdm | SQL 审核与变更平台,数据库上线统一审核 |
-| qpass | 统一告警与值班通知平台 |
-| SSO | 单点登录(Single Sign-On),主系统通过 LDAP 统一认证后跳转至各子系统 |
-
----
-
-## 平台分层架构
-
-### 总体分层
-
-```mermaid
-graph TB
- User["用户层
LDAP SSO 统一认证"] --> Main["主系统层
统一门户 + 功能模块"]
- Main --> Sub["子系统层
独立部署,各自授权"]
- Main --> Infra["基础设施层
计算 · 网络 · 存储 · 自动化"]
- Sub --> Infra
-
- style User fill:#f3e8fd,stroke:#9333ea
- style Main fill:#e0f2fe,stroke:#0284c7
- style Sub fill:#e8f0fe,stroke:#4285f4
- style Infra fill:#ecfdf5,stroke:#059669
-```
-
----
-
-### 主系统功能架构
-
-```mermaid
-graph TB
- Portal["统一门户
LDAP SSO 跳转入口"]
-
- subgraph 全局视图
- DashBoard["资源大盘
集群拓扑 · 节点方格图"]
- MonitorView["资源状态看板
物理机/虚机/服务三层告警"]
- end
-
- subgraph 运维能力
- TaskCenter["任务中心
Ansible/Wayne 实时日志"]
- OpsTerminal["运维终端
Ansible / SSH
仅管理员"]
- end
-
- subgraph 治理能力
- AuditDash["审计面板
登录记录 · 运维操作日志"]
- CMDB["资源台账
CMDB 多云同步"]
- SvcDir["服务目录
Consul 只读聚合"]
- end
-
- Portal --> DashBoard & MonitorView & TaskCenter & AuditDash & CMDB & SvcDir
- SRE["SRE"] --> OpsTerminal
-```
-
-> [!tip] 主系统不替代子系统,只自建子系统无法覆盖的能力:全局视图、运维兜底、登录与运维审计、资源台账。
-
----
-
-### 子系统集成关系
-
-```mermaid
-graph LR
- Portal["XINFRA 主系统"]
-
- subgraph 子系统
- Wayne["Wayne
多集群容器管理"]
- CloudDM["open-cdm
SQL 审核"]
- CacheCloud["CacheCloud
Redis 管理"]
- Apollo["Apollo
配置中心"]
- end
-
- Portal -.->|SSO 跳转| Wayne & CloudDM & CacheCloud & Apollo
-
- Wayne -->|Client-Go| RKE2["RKE2 集群"]
- CloudDM -->|SQL 审核| MySQL[("MySQL")]
- CacheCloud -->|Agent| Redis[("Redis")]
- Apollo -->|ConfigService| RKE2
-```
-
-> [!tip] 子系统各自独立部署和授权,主系统只做 SSO 跳转入口,各子系统自行维护操作审计。
-
----
-
-### 基础设施层
-
-```mermaid
-graph TB
- subgraph 计算
- RKE2["RKE2 集群 × 7 机房
CIS 安全加固"]
- end
-
- subgraph 网络
- Calico["Calico BGP
每集群独立 AS 号
跨机房扁平互通"]
- end
-
- subgraph 存储
- Ceph["Ceph RBD
MySQL/Redis 有状态服务 PV"]
- end
-
- subgraph 自动化
- Ansible["Ansible Playbook
节点初始化 · 服务部署
WebSocket 实时日志"]
- end
-
- RKE2 --> Calico
- RKE2 --> Ceph
- Ansible -->|SSH| RKE2
-```
-
-> [!tip] RKE2 是计算底座,Calico BGP 构建跨机房扁平网络,Ceph RBD 提供有状态服务的持久化存储,Ansible 贯穿自动化运维。
-
----
-
-## 监控告警数据流
-
-```mermaid
-graph LR
- subgraph 采集源
- RKE2["RKE2 集群"]
- Zabbix["Zabbix
硬件监控"]
- end
-
- subgraph 指标存储
- VM[("VictoriaMetrics
容器/业务指标")]
- end
-
- subgraph 可视化
- Grafana["Grafana 仪表盘"]
- end
-
- subgraph 告警链路
- Nightingale["夜莺
去重 · 收敛 · 分级"]
- QPass["qpass
企业 IM 推送"]
- end
-
- RKE2 -.->|Metrics| VM
- VM --> Grafana
- VM --> Nightingale
- Zabbix --> Nightingale
- Nightingale --> QPass
-```
-
-> [!tip] VictoriaMetrics 承载容器和业务指标,Zabbix 覆盖物理机硬件监控,夜莺作为统一告警聚合层,最终推送至 qpass 通知。
-
----
-
-## 技术选型与架构决策
-
-| 层级 | 选型 | 说明 |
-|------|------|------|
-| **前端框架** | Vue 3 + Element Plus | 企业级 UI 方案,与七牛内部技术栈一致 |
-| **后端框架** | Go + Gin | 高性能 HTTP 框架,与 Wayne/Open-CDM 生态一致 |
-| **前后端通信** | 混合模式 | 前端 REST/JSON,服务间 gRPC;API 版本管理采用 URL 路径版本 `/api/v1/...` |
-| **主系统数据库** | MySQL 8.0 | 存储任务记录、审计日志、资源台账、用户会话等 |
-| **缓存** | Redis | 分布式缓存和会话存储 |
-| **前端部署** | Nginx | 托管前端静态文件 + 反向代理后端 API |
-| **主系统部署** | K8s 内部署 | 以 Deployment 方式运行在 RKE2 集群内 |
-| **SSO 协议** | SAML | 企业统一认证,主系统做 SSO 跳转入口 |
-| **告警数据源** | 仅 Nightingale API | 主系统不直接对接 Zabbix/VictoriaMetrics,统一通过夜莺获取告警数据 |
-| **Ansible 调度** | AWX | 通过 AWX API 提交 Playbook 任务,由 AWX 管理执行和日志 |
-| **实时推送** | 原生 WebSocket | 任务日志实时推送,基于 gorilla/websocket 库 |
-| **接口文档** | Swagger/OpenAPI | 后端生成 Swagger 文档供前端开发 |
-| **界面语言** | 纯中文 | 不需要国际化 |
-| **测试策略** | 后端测试为主 | 单元测试 + 集成测试 |
-
----
-
-## 基础服务交付流程
-
-```mermaid
-sequenceDiagram
- actor User as 业务人员
- participant Portal as XINFRA 服务目录
- participant Ansible as Ansible Playbook
- participant Infra as RKE2 / 主机
- participant Sub as 子系统注册
-
- User->>Portal: 选择服务卡片(MySQL/Redis/...)
填写业务线、规格、架构模式
- Portal->>Portal: 实时预览 playbook 参数(YAML)
- User->>Portal: 确认部署
- Portal->>Ansible: 提交 playbook 任务
- Ansible->>Infra: 内核初始化 · containerd · 加入集群
- Ansible-->>Portal: 任务状态 → WebSocket 实时日志
- Portal->>Sub: 自动注册(open-cdm / CacheCloud)
- Portal-->>User: 部署完成,跳转任务中心
-```
-
-> [!tip] 用户通过服务卡片填参 → 后台 Ansible 自动化部署 → 部署完成后自动注册到对应子系统,全程任务日志可在任务中心实时查看。
-
----
-
-## 多租户隔离模型
-
-```mermaid
-graph TB
- LDAP["企业 LDAP"] -->|部门 DN| BL["业务线租户
(Kodo / LAS / 灵矽 / ...)"]
-
- BL --> NS["Kubernetes Namespace
+ ResourceQuota + LimitRange"]
- BL --> NP["物理节点池
node-label + taint"]
-
- NS -.->|Pod 只能调度到
本业务线节点| NP
-
- style LDAP fill:#f3e8fd,stroke:#9333ea
- style BL fill:#e0f2fe,stroke:#0284c7
- style NS fill:#ecfdf5,stroke:#059669
- style NP fill:#fef3c7,stroke:#d97706
-```
-
-> [!tip] 双重隔离:**节点层**通过 `business-line=xxx` 标签 + Taint 确保 Pod 只调度到本业务线节点;**命名空间层**通过 ResourceQuota / LimitRange 限制资源用量上限。
-
----
-
## 角色模型
主系统采用**二维角色模型**:权限维度 × 业务线维度。
@@ -700,96 +462,10 @@ graph TB
---
-## 系统集成关系
-
-**关键集成点**:
-
-| 源 | 目标 | 接口方式 | 说明 |
-|----|------|---------|------|
-| 企业 LDAP | 各子系统 + 主系统 | LDAP Bind / SSO | 统一身份认证,主系统做 SSO 跳转入口 |
-| SINA CMDB | 资源台账 | REST API | 物理机/虚机基础数据来源 |
-| 阿里云 / AWS / 七牛 LAS | 资源台账 | OpenAPI | 云上虚机增量同步 |
-| Consul × 7 DC | 服务目录 | Catalog API | 只读聚合,不改变原有链路 |
-| Nightingale | 资源状态看板 | API | 统一告警数据源 |
-| Zabbix | Nightingale | 告警接入 | 硬件监控告警 |
-| VictoriaMetrics | Nightingale | 告警接入 | 容器/业务指标告警 |
-| GitLab CI | Wayne | REST API(APIKey 认证) | 自动触发部署 |
-| GitLab CI | Harbor | Docker Push | 镜像推送 |
-| Wayne | RKE2 | Client-Go(K8s API) | 容器编排操作 |
-| CloudDM / open-cdm | MySQL / PG 等 | Sidecar SQL 代理 | SQL 审核执行 |
-| CacheCloud | Redis | Agent | 实例生命周期管理 |
-| Apollo | 各业务线 | Config Service API | 配置下发与灰度发布 |
-| Ansible | 各主机 | SSH | 基础设施初始化部署 |
-| 企业 LDAP | 主系统 | LDAP Bind | 登录事件记录至审计面板 |
-| 各子系统 + 基础设施 | VictoriaMetrics | HTTP / Exporter | Metrics 采集 |
-| VictoriaMetrics | Grafana | PromQL | 监控指标可视化(直接复用) |
-| Nightingale | qpass | 告警推送 | 统一告警通知 |
-
----
-
-## 风险与约束
-
-| 风险 | 影响 | 缓解措施 |
-|------|------|---------|
-| RKE2 版本升级可能引入不兼容变更 | 集群稳定性 | 先在测试环境验证,灰度发布 |
-| Wayne 开源版本维护活跃度不确定 | 功能迭代受限 | 内部 Fork 并保持核心模块可维护 |
-| 七机房网络链路故障 | 跨机房服务中断 | 网络冗余 + BGP 自动切换 + 告警监控 |
-| SQL 审核规则误判 | 合法 SQL 被拦截 | 白名单机制 + 规则持续调优 |
-| Redis 大 Key / 热 Key | 性能劣化 | CacheCloud 诊断工具 + 应用侧治理 |
-| Apollo 多机房配置一致性 | 配置下发错误 | 本地缓存降级 + 灰度发布验证 |
-| Consul 跨机房同步延迟 | 服务发现不一致 | 30 秒轮询 + 健康状态标注 |
-| 云平台 API 限流/不可用 | 资源同步中断 | 增量同步 + 重试机制 + 状态告警 |
-
----
-
-## 运维分层模型
-
-> 故障按层级自愈,跨层操作需主系统管理员权限。
-
-| 故障层级 | 处理方 | 工具链 | 权限要求 |
-|---------|--------|--------|---------|
-| 应用发布异常 | 子系统自愈 | Wayne 一键回滚 | 项目成员 |
-| 中间件故障 | 子系统自恢复 | CacheCloud / CloudDM 内置运维能力 | 子系统运维角色 |
-| 配置变更异常 | Apollo 回滚 | Apollo 版本回滚 + 灰度发布 | 配置管理员 |
-| 基础设施故障 | 主系统管理员 | Ansible Playbook / SSH 终端 | 仅主系统管理员 |
-| 机房级故障 | 主系统管理员 | Ansible + 大内网链路切换 | 仅主系统管理员 |
-
-> [!warning] 安全约束
-> Ansible / SSH 终端等基础设施级操作仅对主系统管理员角色可见,普通用户菜单中不包含此项。所有跨层操作全程审计留痕。
-
----
-
-## MVP 实现与后续规划
-
-### MVP(当前阶段)
-
-当前尚未实现任何功能,MVP 阶段目标为最小可用集:
-
-- 多租户认证(LDAP + SSO)
-- 子系统对接(Wayne、CloudDM、CacheCloud、Apollo)
-
-详见 Phase 1 — MVP 章节。
-
-### 后续规划
-
-| 阶段 | 内容 |
-|------|------|
-| Phase 2 — 完整版 | 资源大盘、告警看板、集群管理、CMDB 同步、Consul 同步、基础服务部署、任务中心 |
-| Phase 3 — 运维增强 | etcd 集群运维、高级监控、运维工具 |
-
-长期演进方向:
-- PgSQL 服务正式接入基础服务目录,并集成 open-cdm SQL 审核
-- 海外机房(达拉斯、新加坡、香港、东南亚)Apollo Config Service 建设
-- CacheCloud LDAP 接入改造完成
-- 更多业务线(灵矽、LTOKEN、MAAS)全面接入 Apollo 配置中心
-- 服务拓扑与依赖可视化(增强可观测性)
-- 告警自愈能力探索:部分 P1 告警联动 Ansible Playbook 自动处理
-- 成本分析:各业务线资源使用费用归集与报表
-
----
-
## 关联笔记
+- [[architecture]]
+- [[mvp-plan]]
- [[technical/xinfra-preview]]
- [[technical/xinfra-preview/k8s-rke2-fundamentals]]
- [[technical/xinfra-preview/wayne-overview]]