主题
harvester-admin · Harvester 虚拟机运维管理平台
面向 Harvester(Kubernetes + KubeVirt + Longhorn)超融合集群的虚拟机全生命周期运维管理平台。 当前阶段:方案设计 / 需求评审(尚未进入编码)。
一句话方案
以 Kubernetes(Harvester) API 为唯一事实源,构建一套「自助申请 + 平台编排 + CMDB 归属 + 全量审计」的虚拟机运维中台: 对上给研发/产品提供一键创建与自助运维门户,对下把 KubeVirt/Harvester 的 CRD 操作(VM、迁移、备份、恢复、网络)封装成幂等、可审批、可回滚的工作流,并把「研发负责人工号、部门负责人工号、所属服务、环境、成本中心」等归属元数据作为一等公民写入平台数据库并回标到虚拟机 CR,与 CMDB 双向对账。
文档索引
| 编号 | 文档 | 说明 | 主要读者 |
|---|---|---|---|
| 00 | docs/00-评审导读与会议材料.md | 会议议程、各角色关注点、需当场决策的 12 个问题 | 全体参会人 |
| 01 | docs/01-总体方案设计.md | 背景、范围、Harvester 能力基线、总体架构、技术选型、关键技术方案、安全、路线图、风险 | 产品、k8s 专家、各运维组 |
| 02 | docs/02-需求规格说明书.md | 角色画像、用例、功能需求(含验收标准)、非功能需求、数据字典、页面清单 | 产品、全体 |
| 03 | docs/03-数据模型与接口设计.md | 数据模型(ER/表结构)、状态机、REST API、平台字段 ↔ CR 映射 | 研发、k8s 专家、CMDB |
| 04 | docs/04-角色分工RACI与风险清单.md | RACI、人力排期、风险登记册、开放问题跟踪、评审检查清单 | 项目经理、各组负责人 |
核心能力清单(MVP → 完整)
- 多集群纳管:一套平台管理 N 个 Harvester 集群(节点/宿主机水位、存储、网络、镜像、SSH Key、模板统一视图)
- 虚拟机增删改查:列表、详情、YAML、控制台(VNC/Serial)、电源操作、克隆、配置变更(热插拔/重启生效)
- 一键创建虚拟机:模板化 + 向导式表单 + 批量创建 + 12 项前置预检 + 失败自动回滚 + 进度可观测
- 热迁移:单机/批量迁移、宿主机维护模式编排(cordon → 排空 → 迁移 → 复检)、可迁移性预检、进度与超时治理
- 备份 / 快照 / 恢复:手动 + 定时策略(Cron/保留数/最大失败数)、恢复为新机或覆盖原机、恢复演练、备份成功率看板
- 静态 IP:平台自建 IPAM(网段/地址池/网关/DNS/VLAN 绑定)+ MAC-IP 绑定 + cloud-init 网络配置注入 + 冲突检测与回收
- 归属元数据:研发负责人工号、部门负责人工号、所属服务名、环境、成本中心、应用 ID、业务等级(T0~T3)
- CMDB 集成:字段映射、增量同步 + 每日对账、异常工单
- 权限 / 审批 / 审计:RBAC + 数据权限(按部门/服务/环境)+ 高危操作审批 + 不可篡改审计日志
- 监控与运营:接入 Prometheus/Grafana,容量水位、备份成功率、IP 使用率、部门维度成本报表、告警跳转
参与评审的角色
服务器运维、网络运维、K8s 运维、应用运维、监控中心、CMDB 管理员、产品、K8s 专家。 各角色关注点与需确认事项见 docs/00,分工见 docs/04。
规划中的代码目录(Phase 1 起)
text
harvester-admin/
├── backend/ # FastAPI(与团队既有 zhiliao 项目保持一致的技术栈)
│ └── app/
│ ├── config.py # 配置(pydantic-settings)
│ ├── database.py # SQLAlchemy async engine / session
│ ├── main.py # 应用装配、路由注册、中间件
│ ├── models/ # ORM 模型
│ ├── schemas/ # Pydantic 请求/响应模型
│ ├── routers/ # REST API 路由
│ ├── services/ # 领域服务(vm/ipam/backup/migration/cmdb/...)
│ ├── k8s/ # Harvester/KubeVirt 客户端封装(cluster、watch、CR 构造器)
│ ├── workflows/ # 工作流状态机 + 任务(Celery/ARQ)
│ └── utils/
├── frontend/ # React 18 + TypeScript + Vite + Tailwind + Ant Design
├── deploy/ # helm chart / k8s manifest / docker-compose
├── docs/ # 本文档集
└── scripts/ # PoC 校验脚本(CRD 探测、连通性自检)变更记录
| 日期 | 版本 | 变更 | 作者 |
|---|---|---|---|
| 2026-09-07 | v0.1 | 初稿:方案设计 + 需求规格说明书 + 数据模型/接口 + 分工与风险 | 架构组 |
⚠️ 文档中标注 [待确认] / [PoC 验证] 的内容,需在评审会或 PoC 阶段结合实际 Harvester 集群版本确认后再冻结。