Compare commits

...

10 Commits

+43 -42
View File
@@ -502,23 +502,23 @@ graph TB
--- ---
# 关键决策 — Ansible 编排而非自研部署引擎 # 关键决策 — 基础服务交付自动化
<div class="grid grid-cols-2 gap-6 mt-4"> <div class="grid grid-cols-2 gap-6 mt-4">
<div> <div>
### 决策 ### 决策
基础服务交付采用 **Ansible Playbook** 编排,不自研部署引擎。 引入**自动化部署引擎**(Ansible Playbook),打通交付全流程。
### 背景 ### 痛点背景
| 现状 | 问题 | | 现状 | 问题 |
|------|------| |------|------|
| 基础服务部署依赖人工操作 | 效率低,容易出错 | | 业务上线依赖员工手动操作 | 交付效率低,周期长 |
| 不同运维人员操作方式不同 | 缺少标准化 | | 工具链复杂,命令行门槛高 | 新人上手慢,培训成本高 |
| 操作方式因人而异 | 缺少标准化,易出错 |
| 部署过程不可见 | 排障困难 | | 部署过程不可见 | 排障困难 |
| 跨机房部署需要 SSH 到各机房 | 操作繁琐 |
</div> </div>
<div> <div>
@@ -529,7 +529,6 @@ graph TB
|------|------|------| |------|------|------|
| **Ansible 编排(选定)** | 运维团队熟悉,生态成熟 | 需要自建任务队列 | | **Ansible 编排(选定)** | 运维团队熟悉,生态成熟 | 需要自建任务队列 |
| 自研部署引擎 | 完全可控 | 开发周期长,重复造轮子 | | 自研部署引擎 | 完全可控 | 开发周期长,重复造轮子 |
| AWX/Tower | 开源方案 | 引入新组件,增加复杂度 |
### 执行模型 ### 执行模型
@@ -549,23 +548,23 @@ graph LR
--- ---
# 关键决策 — 对接夜莺而非自建监控引擎 # 关键决策 — 引入统一监控引擎整合分散数据
<div class="grid grid-cols-2 gap-6 mt-4"> <div class="grid grid-cols-2 gap-6 mt-4">
<div> <div>
### 决策 ### 决策
监控数据**对接夜莺(Nightingale)**,不在 XINFRA 内自建监控和告警引擎。 引入**可对接多种业务线、多种场景、多种数据源的监控引擎**,整合分散的监控数据,而非自建。
### 背景 ### 背景
| 现状 | 问题 | | 现状 | 问题 |
|------|------| |------|------|
| 监控数据散落在不同服务和渠道 | 缺少统一的数据整合 |
| 告警分散在基础资源和业务系统 | 排障时信息割裂 | | 告警分散在基础资源和业务系统 | 排障时信息割裂 |
| 夜莺已有告警聚合能力 | 重复建设浪费资源 | | 夜莺已有告警聚合能力 | 重复建设浪费资源 |
| 监控分析和告警治理复杂 | 非当前重点 | | 业务线需要隔离查看告警 | 缺少统一看板视图 |
| 业务线需要隔离查看告警 | 缺少统一视图 |
</div> </div>
<div> <div>
@@ -574,8 +573,7 @@ graph LR
| 方案 | 优点 | 缺点 | | 方案 | 优点 | 缺点 |
|------|------|------| |------|------|------|
| **对接夜莺(选定)** | 复用现有能力,开发量小 | 依赖夜莺稳定性 | | **对接夜莺(选定)** | 支持多数据源多场景,生态成熟 | 依赖夜莺稳定性 |
| 自建监控引擎 | 完全可控 | 成本高,非核心能力 |
| 仅做文档指引 | 零成本 | 无法统一视图 | | 仅做文档指引 | 零成本 | 无法统一视图 |
### 数据流 ### 数据流
@@ -585,7 +583,6 @@ graph LR
VM["VictoriaMetrics<br/>指标存储"] --> Nightingale["夜莺<br/>告警聚合"] VM["VictoriaMetrics<br/>指标存储"] --> Nightingale["夜莺<br/>告警聚合"]
Zabbix["Zabbix<br/>硬件监控"] --> Nightingale Zabbix["Zabbix<br/>硬件监控"] --> Nightingale
Nightingale --> XINFRA["XINFRA<br/>按业务线展示"] Nightingale --> XINFRA["XINFRA<br/>按业务线展示"]
Nightingale --> IM["企业 IM 推送"]
style XINFRA fill:#e0f2fe,stroke:#0284c7 style XINFRA fill:#e0f2fe,stroke:#0284c7
``` ```
@@ -595,50 +592,56 @@ graph LR
--- ---
# 关键功能 — 资源纳管 # 关键决策 — 资源纳管
<div class="grid grid-cols-2 gap-6 mt-4"> <div class="grid grid-cols-2 gap-6 mt-4">
<div> <div>
### 功能概述 ### 痛点
统一展示和管理物理机、虚机、云主机、K8s 节点等资源,形成可视化资源台账。 资源无法统一规划、查看和控制成本——数据散落在多个渠道,缺少全局视图。
### 核心能力 | 渠道 | 数据范围 |
|------|----------|
| 能力 | 说明 | | CMDB | 主机资产信息 |
|------|------| | K8s 集群 | 节点与工作负载 |
| 资源统一展示 | 物理机、虚机、云主机、K8s 节点统一视图 | | 容器运行时 | 容器状态信息 |
| 业务线关联 | 资源与业务线绑定,支持按业务线筛选 | | 服务注册中心 | 服务状态信息 |
| 多维度筛选 | 机房、集群、状态、业务线组合筛选 |
| 容量统计 | 资源使用率、剩余容量、成本概览 |
| 数据同步 | CMDB + 云平台 API 自动同步 |
</div> </div>
<div> <div>
### 资源类型 ### 决策
建设**资源纳管平台**,统一汇聚以上多渠道数据,提供:
- 资源台账与统一视图
- 业务线关联与成本归属
- 容量统计与配额管理
### 数据流
```mermaid ```mermaid
graph TB graph TB
subgraph 资源纳管 CMDB["CMDB<br/>主机资产"]
Physical["物理机<br/>CMDB 同步"] K8s["K8s 集群<br/>节点 · 工作负载"]
VM["虚机<br/>CMDB 同步"] Container["容器运行时<br/>容器状态"]
Cloud["云主机<br/>云平台 API 同步"] Service["服务注册中心<br/>服务状态"]
K8sNode["K8s 节点<br/>RKE2 集群同步"]
end
XINFRA["XINFRA 资源大盘"] --> Physical & VM & Cloud & K8sNode XINFRA["XINFRA<br/>资源纳管平台"]
CMDB & K8s & Container & Service --> XINFRA
XINFRA --> Dashboard["资源大盘"]
XINFRA --> Cost["成本分析"]
XINFRA --> Quota["配额管理"]
style XINFRA fill:#e0f2fe,stroke:#0284c7 style XINFRA fill:#e0f2fe,stroke:#0284c7
style Dashboard fill:#f0fdf4,stroke:#16a34a
style Cost fill:#fef9c3,stroke:#ca8a04
style Quota fill:#fce7f3,stroke:#db2777
``` ```
### 页面入口
- **资源管理** — 资源台账列表,支持筛选和导出
- **资源状态看板** — 机房健康度、告警汇总
- **业务配额** — 按业务线划分 K8s 命名空间与资源配额
</div> </div>
</div> </div>
@@ -965,14 +968,12 @@ graph LR
subgraph 告警链路 subgraph 告警链路
Nightingale["夜莺<br/>去重 · 收敛 · 分级"] Nightingale["夜莺<br/>去重 · 收敛 · 分级"]
IM["企业 IM 推送"]
end end
RKE2 -.->|Metrics| VM RKE2 -.->|Metrics| VM
VM --> Grafana VM --> Grafana
VM --> Nightingale VM --> Nightingale
Zabbix -.->|Webhook| Nightingale Zabbix -.->|Webhook| Nightingale
Nightingale --> IM
Zabbix -->|Zabbix API| Main["XINFRA 主系统<br/>资源状态看板"] Zabbix -->|Zabbix API| Main["XINFRA 主系统<br/>资源状态看板"]
``` ```