vault backup: 2026-07-10 11:38:36

This commit is contained in:
2026-07-10 11:38:36 +08:00
parent 0b44879b43
commit f1e07c79f4
+119 -42
View File
@@ -40,20 +40,22 @@ XINFRA 是七牛云的统一基础设施平台,以**七机房容器资源池
### 通用术语
| 概念 | 定义 |
|------|------|
| APIKey | Wayne 平台对外提供的 API 认证密钥,用于 CI/CD 流水线等自动化场景的身份认证,遵循最小权限原则 |
| RBAC | 基于角色的访问控制(Role-Based Access Control),通过角色分配权限,用户与角色关联实现权限隔离 |
| RKE2 | Rancher 发行的轻量级 Kubernetes 发行版,专为生产环境设计,支持离线安装和安全加固 |
| CI/CD | 持续集成/持续部署,自动化代码构建、测试和部署的流水线 |
| WAF | Web 应用防火墙(Web Application Firewall),防护 SQL 注入、XSS、CSRF 等常见 Web 攻击 |
| SLA | 服务等级协议(Service Level Agreement),定义服务可用性的承诺指标,如 99.9% 可用率 |
| CNI | 容器网络接口(Container Network Interface),K8s 中负责 Pod 网络通信的插件规范 |
| IaC | 基础设施即代码(Infrastructure as Code),通过 Ansible Playbook 等工具实现基础设施自动化管理 |
| Console + Sidecar | CloudDM 的集群部署模式,Console 负责管理界面,Sidecar 负责实际 SQL 执行和代理 |
| Air-gap | 离线部署模式,适配无外网访问的内网环境,所有依赖包需预先下载 |
| Harbor | 企业级容器镜像仓库,用于存储和分发 Docker/OCI 镜像 |
| containerd | K8s 默认的容器运行时,负责容器生命周期管理,取代 Docker |
| 概念 | 定义 |
| ----------------- | -------------------------------------------------------------------------------------- |
| APIKey | Wayne 平台对外提供的 API 认证密钥,用于 CI/CD 流水线等自动化场景的身份认证,遵循最小权限原则 |
| RBAC | 基于角色的访问控制(Role-Based Access Control),通过角色分配权限,用户与角色关联实现权限隔离 |
| RKE2 | Rancher 发行的轻量级 Kubernetes 发行版,专为生产环境设计,支持离线安装和安全加固 |
| CI/CD | 持续集成/持续部署,自动化代码构建、测试和部署的流水线 |
| WAF | Web 应用防火墙(Web Application Firewall),防护 SQL 注入、XSS、CSRF 等常见 Web 攻击 |
| SLA | 服务等级协议(Service Level Agreement),定义服务可用性的承诺指标,如 99.9% 可用率 |
| CNI | 容器网络接口(Container Network Interface),K8s 中负责 Pod 网络通信的插件规范 |
| IaC | 基础设施即代码(Infrastructure as Code),通过 Ansible Playbook 等工具实现基础设施自动化管理 |
| 运维分层 | 故障按层级自愈:子系统处理应用与中间件故障,主系统管理员通过 Ansible / SSH 兜底基础设施层故障,跨层操作需管理员权限 |
| Console + Sidecar | CloudDM 的集群部署模式,Console 负责管理界面,Sidecar 负责实际 SQL 执行和代理 |
| Air-gap | 离线部署模式,适配无外网访问的内网环境,所有依赖包需预先下载 |
| Harbor | 企业级容器镜像仓库,用于存储和分发 Docker/OCI 镜像 |
| 跨系统认证 | 主系统统一 LDAP 认证,一个主系统用户对应各子系统中的多个用户(1:N 映射)。主系统管身份(Authentication),子系统管授权(Authorization) |
| containerd | K8s 默认的容器运行时(CRI 标准),负责容器生命周期管理,取代 Docker |
## 平台架构总览
@@ -63,30 +65,40 @@ graph TB
Dev[开发人员]
DBA[DBA]
SRE[SRE / 运维]
Sec[安全团队]
end
subgraph 平台层["平台层(主系统 + 子系统)"]
subgraph 主系统["主系统(XINFRA 统管层)"]
Portal[统一门户<br/>LDAP 认证入口]
AuditAgg[审计聚合中心]
CICD[CI/CD 流水线]
CostBoard[多云成本看板]
OpsTerminal[运维终端<br/>Ansible / SSH<br/>「仅管理员」]
end
subgraph 子系统["子系统(独立部署平台)"]
subgraph 子系统["子系统(独立部署,各自授权)"]
Wayne[Wayne 多集群管理]
CloudDM[CloudDM SQL 审核]
CloudDM[CloudDM SQL 审核<br/>多实例 HA]
CacheCloud[CacheCloud Redis 管理]
end
end
subgraph 工具层
Ansible[Ansible Playbook<br/>「工具」]
Ansible[Ansible Playbook<br/>「基础设施初始化」]
end
subgraph 基础设施层
Ingress["Ingress / WAF<br/>「安全防护入口」"]
RKE2[RKE2 集群 x7 机房]
WAF[WAF 安全态势]
Network[大内网互联]
end
subgraph 监控告警["监控告警(外部依赖)"]
Prometheus[(Prometheus<br/>Metrics 采集)]
Grafana[Grafana 可视化]
Alert[告警路由<br/>邮件 / 企业 IM]
end
subgraph 数据层
MySQL[(MySQL)]
PG[(PostgreSQL)]
@@ -97,39 +109,62 @@ graph TB
Harbor[(Harbor 镜像仓库)]
end
Dev --> Wayne
Dev --> CICD
Dev --> CloudDM
DBA --> CloudDM
SRE --> Ansible
SRE --> CacheCloud
Dev -->|1: N 用户映射| Portal
DBA -->|1: N 用户映射| Portal
SRE -->|1: N 用户映射| Portal
Sec -->|1: N 用户映射| Portal
Portal --> Wayne
Portal --> CICD
Portal --> CloudDM
Portal --> CacheCloud
Portal --> CostBoard
SRE --> OpsTerminal
Wayne -.->|审计上报| AuditAgg
CloudDM -.->|审计上报| AuditAgg
CacheCloud -.->|审计上报| AuditAgg
Wayne --> RKE2
CloudDM --> MySQL
CloudDM --> PG
CloudDM --> Oracle
CloudDM --> CH
CloudDM --> MongoDB
Wayne -->|Client-Go| RKE2
CloudDM -->|SQL 审核接入<br/>MySQL / PG / Oracle / CH / MongoDB| MySQL
CacheCloud --> Redis
CICD --> Harbor
CICD --> Wayne
CICD -->|APIKey 触发部署| Wayne
Ansible --> RKE2
Ansible --> MySQL
Ansible --> Redis
OpsTerminal -->|兜底操作| RKE2
OpsTerminal -->|兜底操作| Network
Ingress --> RKE2
RKE2 --> Network
Wayne -.->|Metrics| Prometheus
CloudDM -.->|Metrics| Prometheus
CacheCloud -.->|Metrics| Prometheus
Prometheus --> Grafana
Prometheus --> Alert
Sec -->|安全事件查询| Ingress
CostBoard -.->|云账单 API| CH
CostBoard -.->|K8s / 节点指标| Prometheus
classDef subsystem fill:#e8f0fe,stroke:#4285f4,stroke-width:2px
classDef mainsys fill:#f3e8fd,stroke:#9333ea,stroke-width:2px
classDef tool fill:#fef3c7,stroke:#d97706,stroke-width:2px
classDef monitor fill:#fff7ed,stroke:#ea580c,stroke-width:2px
classDef infra fill:#ecfdf5,stroke:#059669,stroke-width:2px
class Wayne,CloudDM,CacheCloud subsystem
class CICD,CostBoard mainsys
class Portal,AuditAgg,CICD,CostBoard,OpsTerminal mainsys
class Ansible tool
class Prometheus,Grafana,Alert monitor
class Ingress,RKE2,Network infra
```
> [!tip] 图例说明
> - **紫色节点** = 主系统(XINFRA 统管层:CI/CD、成本看板)
> - **紫色节点** = 主系统(XINFRA 统管层:统一门户、审计聚合、CI/CD、成本看板、运维终端)
> - **蓝色节点** = 子系统(有独立 WebUI 的平台:Wayne、CloudDM、CacheCloud)
> - **黄色节点** = 工具层(CLI/IaC 脚本,无常驻 WebUI:Ansible Playbook)
> - **橙色节点** = 监控告警(外部依赖:Prometheus + Grafana + 告警路由)
> - **绿色节点** = 基础设施层(Ingress/WAF、RKE2 集群、大内网互联)
---
@@ -228,6 +263,7 @@ graph TB
- 所有生产库 SQL 操作必须经 CloudDM 工单流程,无直连通道
- 审核规则可按需配置白名单豁免
- 生产部署已替换默认 JWT 密钥和管理员密码
- Console 多实例部署,单实例故障不影响服务可用性
---
@@ -362,6 +398,7 @@ graph TB
**验收标准**:
- 成本数据延迟 < 24 小时
- 支持按维度下钻到具体资源粒度
- 云资源通过各厂商 Billing API 经 Exporter 采集入 ClickHouse;自建机房成本由 Prometheus 节点指标 + SNMP 网络指标汇总,按 Namespace → Project → Department 路径归属
---
@@ -408,18 +445,28 @@ graph TB
```mermaid
graph LR
subgraph 认证
LDAP[(企业 LDAP)] -->|统一身份认证| Portal[XINFRA 统一门户]
end
subgraph 自动化流水线
GitLab[GitLab CI] -->|镜像推送| Harbor[Harbor]
GitLab -->|触发部署 API| Wayne
end
subgraph 平台层
Portal -->|1:N 用户映射| Wayne
Portal -->|1:N 用户映射| CloudDM
Portal -->|1:N 用户映射| CacheCloud
Wayne -->|Client-Go| K8s[RKE2 集群]
CloudDM -->|SQL 执行| MySQL[(MySQL)]
CloudDM -->|Sidecar SQL 代理| MySQL[(MySQL)]
CacheCloud -->|Agent 管理| Redis[(Redis)]
Ansible -->|SSH| K8s
Ansible -->|SSH| MySQL
Ansible -->|SSH| Redis
Wayne -.->|审计上报| AuditAgg[审计聚合]
CloudDM -.->|审计上报| AuditAgg
CacheCloud -.->|审计上报| AuditAgg
end
subgraph 跨集群
@@ -429,15 +476,24 @@ graph LR
end
subgraph 安全与网络
WAF[WAF] -->|防护| K8s
WAF[WAF] -->|HTTP/HTTPS 防护| Ingress[Ingress 入口]
Ingress --> K8s
Network[大内网] -->|互联| ClusterA
Network -->|互联| ClusterB
end
subgraph 成本
CostBoard[成本看板] -.->|采集| K8s
CostBoard -.->|采集| MySQL
CostBoard -.->|采集| Redis
subgraph 监控告警
K8s -.->|Metrics| Prometheus[(Prometheus)]
MySQL -.->|Metrics| Prometheus
Redis -.->|Metrics| Prometheus
Prometheus --> Grafana[Grafana]
Prometheus --> Alert[告警路由]
end
subgraph 成本采集
CloudAPI[云厂商 Billing API] -->|Exporter| CH[(ClickHouse)]
Prometheus -->|节点/网络指标| CostBoard[成本看板]
CH --> CostBoard
end
```
@@ -445,13 +501,18 @@ graph LR
| 源 | 目标 | 接口方式 | 说明 |
|----|------|---------|------|
| 企业 LDAP | XINFRA 统一门户 | LDAP Bind | 统一身份认证,1:N 用户映射到子系统 |
| XINFRA 统一门户 | 各子系统 | 内部 API / 会话代理 | 用户选择子系统后代入本地身份 |
| GitLab CI | Wayne | REST API(APIKey 认证) | 自动触发部署 |
| GitLab CI | Harbor | Docker Push | 镜像推送 |
| Wayne | RKE2 | Client-Go(K8s API) | 容器编排操作 |
| CloudDM | MySQL | JDBC / Sidecar 代理 | SQL 审核执行 |
| CloudDM | MySQL | Sidecar SQL 代理 | SQL 审核执行 |
| CacheCloud | Redis | Agent(SSH + 心跳) | 实例生命周期管理 |
| Ansible | 各主机 | SSH | 配置管理与部署 |
| 各子系统 | 告警平台 | HTTP / 邮件 / IM | 统一告警通道 |
| Ansible | 各主机 | SSH | 基础设施初始化部署 |
| 各子系统 | 审计聚合中心 | HTTP Webhook | 操作审计统一归集 |
| 各子系统 + 基础设施 | Prometheus | HTTP / Exporter | Metrics 采集 |
| 云厂商 Billing API | ClickHouse | Exporter 定时拉取 | 多云成本数据归集 |
| Prometheus | 告警路由 | Alertmanager | 统一告警(邮件 / 企业 IM) |
---
@@ -467,6 +528,22 @@ graph LR
---
## 运维分层模型
> 故障按层级自愈,跨层操作需主系统管理员权限。
| 故障层级 | 处理方 | 工具链 | 权限要求 |
|---------|--------|--------|---------|
| 应用发布异常 | 子系统自愈 | Wayne 一键回滚 | 项目成员 |
| 中间件故障 | 子系统自恢复 | CacheCloud / CloudDM 内置运维能力 | 子系统运维角色 |
| 基础设施故障 | 主系统管理员 | Ansible Playbook / SSH 终端 | 仅主系统管理员 |
| 机房级故障 | 主系统管理员 | Ansible + 大内网链路切换 | 仅主系统管理员 |
> [!warning] 安全约束
> Ansible / SSH 终端等基础设施级操作仅对主系统管理员角色可见,普通用户菜单中不包含此项。所有跨层操作全程审计留痕。
---
## 关联笔记
- [[technical/xinfra-preview]]