docs: Deployment可视化编辑器规划 M6-M9 + 项目评估更新
ROADMAP: - 新增 P1 冲刺: M6-M9 Deployment 可视化编辑器(Kuboard 风格) - M6: 编辑器基础设施 + 基本信息 Tab + YAML编辑器(Monaco) - M7: 容器信息 Tab(工作容器+初始化容器,8类字段) - M8: 存储挂载 + 高级设置 Tab - M9: 服务/应用路由 Tab + 整体联调 - P2+ 模块重编号 M10-M13 PROJECT_EVALUATION: - 新增 Deployment 编辑器现状评估表 - 编辑器 5 Tab 模块拆分(~2700行纯前端,零后端改动) - 标注遗留组件待清理(DeploymentDetail.tsx 719行)
This commit is contained in:
1 parent
8637036995
commit
23f237288d
2 files changed
+116
-6
No files matched your search
+27
-1
@@ -38,14 +38,40 @@
|
|||||||
| kubectl 终端 | ✅ KubectlShell(WS) | ✅ KubectlTerminal | ✅ |
|
| kubectl 终端 | ✅ KubectlShell(WS) | ✅ KubectlTerminal | ✅ |
|
||||||
| 拓扑图 | ✅ topology get/save | ✅ TopologyView | ✅ |
|
| 拓扑图 | ✅ topology get/save | ✅ TopologyView | ✅ |
|
||||||
|
|
||||||
### ❌ 缺失(10%)
|
### ❌ 缺失 / 进行中
|
||||||
|
|
||||||
| 功能 | 优先级 | 说明 |
|
| 功能 | 优先级 | 说明 |
|
||||||
|------|:------:|------|
|
|------|:------:|------|
|
||||||
| Pod 文件上传 | ✅ | P2 | ✅ 已完成 M3 |
|
| Pod 文件上传 | ✅ | P2 | ✅ 已完成 M3 |
|
||||||
|
| ConfigMap/Secret 编辑 | ✅ | P2 | ✅ 已完成 M4 |
|
||||||
|
| **Deployment 可视化编辑器** | **P1** | **M6-M9 进行中 — 当前编辑器只有 image/resources/probe(httpGet)/env/mounts,缺容器完整编辑/存储/调度/服务** |
|
||||||
|
| **YAML 编辑器增强** | **P1** | **M6 — 当前是纯 textarea,需 Monaco/CodeMirror 语法高亮** |
|
||||||
| CI/CD 集成菜单项 | P3 | 菜单有按钮但未接线 |
|
| CI/CD 集成菜单项 | P3 | 菜单有按钮但未接线 |
|
||||||
| Deployment 暂停更新 | P3 | 菜单无此项 |
|
| Deployment 暂停更新 | P3 | 菜单无此项 |
|
||||||
|
|
||||||
|
### 📋 Deployment 编辑器现状评估 (2026-06-23)
|
||||||
|
|
||||||
|
| 组件 | 行数 | 状态 | 说明 |
|
||||||
|
|------|------|:----:|------|
|
||||||
|
| `DeploymentWorkload.tsx` | 569 | ✅ 可用 | Shell 框架(header + 模式切换 + 操作下拉 + 模态框系统) |
|
||||||
|
| `DeploymentView.tsx` | 395 | ✅ 完整 | 查看模式(状态卡片/容器模板/Pod实例/版本历史/RS) |
|
||||||
|
| `DeploymentEdit.tsx` | 374 | ⚠️ 浅层 | **只覆盖 image/resources/probe(httpGet)/env/mounts,将在 M9 删除** |
|
||||||
|
| `YamlViewer.tsx` | 139 | ⚠️ 基础 | **纯 textarea,无语法高亮/行号/校验,将在 M6 升级** |
|
||||||
|
| `DeploymentDetail.tsx` | 719 | 💀 遗留 | **旧版 tab 式详情页,仅 KubernetesWorkloads.tsx 引用,待清理** |
|
||||||
|
| 后端 GetYAML/UpdateYAML | — | ✅ 完善 | 支持 12 种资源,PUT 直通 K8s API,**纯前端工程无需改后端** |
|
||||||
|
|
||||||
|
**编辑器 5 Tab 模块拆分**:
|
||||||
|
|
||||||
|
| Tab | 模块 | 预估代码量 | 核心字段 |
|
||||||
|
|-----|------|-----------|---------|
|
||||||
|
| 基本信息 | M6 | ~200 行 | name/namespace/labels/annotations/replicas |
|
||||||
|
| 容器信息 | M7 | ~800 行 | 镜像/资源/端口/环境变量/健康检查/生命周期/安全上下文/卷挂载 |
|
||||||
|
| 存储挂载 | M8 | ~500 行 | 6种数据卷(PVC/EmptyDir/HostPath/NFS/ConfigMap/Secret) + 挂载映射 |
|
||||||
|
| 高级设置 | M8 | ~600 行 | 更新策略/调度/容忍/亲和/DNS/主机别名/SA/安全上下文 |
|
||||||
|
| 服务/应用路由 | M9 | ~400 行 | Service(ClusterIP/NodePort/LB) + Ingress 规则 |
|
||||||
|
| YAML 编辑器 | M6 | ~200 行 | Monaco Editor 集成 |
|
||||||
|
| **合计** | M6-M9 | **~2700 行** | 纯前端,零后端改动 |
|
||||||
|
|
||||||
### ⚠️ 已知架构约束
|
### ⚠️ 已知架构约束
|
||||||
|
|
||||||
1. **K8s 集群(161/162)是 CentOS 7** — MySQL 8.0 容器跑不了(x86-64-v2),用 hostNetwork + 外部 MySQL
|
1. **K8s 集群(161/162)是 CentOS 7** — MySQL 8.0 容器跑不了(x86-64-v2),用 hostNetwork + 外部 MySQL
|
||||||
|
|||||||
+89
-5
@@ -83,15 +83,99 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 当前冲刺:P1 — Deployment 可视化编辑器(Kuboard 风格)
|
||||||
|
|
||||||
|
### M6: 编辑器基础设施 + 基本信息 Tab + YAML编辑器 [pending]
|
||||||
|
**目标**: 三模式切换(查看/可视化编辑/YAML编辑)+ 基本信息 Tab
|
||||||
|
|
||||||
|
**改动**:
|
||||||
|
- `DeploymentWorkload.tsx`: 模式切换从 2 tab → 3 tab(查看模式 / 编辑模式 / YAML编辑)
|
||||||
|
- 新增 `DeploymentEditBasic.tsx`: 基本信息 Tab — name/namespace/labels/annotations/replicas
|
||||||
|
- `YamlViewer.tsx` 升级: 引入 Monaco Editor(或 CodeMirror),支持 YAML 语法高亮 + 行号 + 基本校验
|
||||||
|
- 路由扩展: `:mode` 增加 `yaml` 值
|
||||||
|
|
||||||
|
**验收标准**:
|
||||||
|
- [ ] 三模式 tab 切换正常,YAML 模式打开 Monaco 编辑器
|
||||||
|
- [ ] 基本信息 Tab 可编辑 labels/annotations/replicas 并保存
|
||||||
|
- [ ] YAML 编辑器有语法高亮和行号
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### M7: 容器信息 Tab(工作容器 + 初始化容器)[pending]
|
||||||
|
**目标**: Kuboard 风格的容器编辑器,替代当前浅层 DeploymentEdit
|
||||||
|
|
||||||
|
**改动**:
|
||||||
|
- 新增 `DeploymentEditContainers.tsx`: 容器列表卡片(initContainers + containers)
|
||||||
|
- 每个容器卡片可编辑:
|
||||||
|
- 容器镜像 + ImagePullSecret + 镜像拉取策略
|
||||||
|
- 命令 (command + args)
|
||||||
|
- 环境变量(key-value 动态列表)
|
||||||
|
- 资源需求/限制(CPU/Memory/GPU)
|
||||||
|
- 端口(name/port/protocol 动态列表)
|
||||||
|
- 健康检查(liveness/readiness/startup — httpGet/tcpSocket/exec 三种)
|
||||||
|
- 生命周期回调(postStart/preStop)
|
||||||
|
- 安全上下文(runAsUser/runAsNonRoot/privileged/capabilities)
|
||||||
|
- 数据卷挂载(name/mountPath/subPath/readOnly)
|
||||||
|
|
||||||
|
**验收标准**:
|
||||||
|
- [ ] 可添加/删除工作容器和初始化容器
|
||||||
|
- [ ] 每个容器的所有常规字段可编辑
|
||||||
|
- [ ] 保存后 K8s 中实际生效
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### M8: 存储挂载 + 高级设置 Tab [pending]
|
||||||
|
**目标**: 数据卷定义/挂载 + Deployment 高级调度策略
|
||||||
|
|
||||||
|
**改动**:
|
||||||
|
- 新增 `DeploymentEditStorage.tsx`:
|
||||||
|
- 数据卷定义区: 添加/删除 volume(PVC/EmptyDir/HostPath/NFS/ConfigMap/Secret)
|
||||||
|
- 数据卷挂载区: 选择 volume → 挂载到容器的路径(自动读容器列表)
|
||||||
|
- 新增 `DeploymentEditAdvanced.tsx`:
|
||||||
|
- 更新策略: RollingUpdate(maxSurge/maxUnavailable) / Recreate + minReadySeconds + revisionHistoryLimit
|
||||||
|
- 节点调度: nodeSelector (key-value) + tolerations (key/operator/effect)
|
||||||
|
- 亲和性/反亲和性: 简化 UI(podAntiAffinity topologyKey)
|
||||||
|
- DNS 配置: dnsPolicy + dnsConfig(nameservers/searches/options)
|
||||||
|
- 主机别名: hostAliases (ip/hostnames)
|
||||||
|
- ServiceAccountName
|
||||||
|
- 主机设置: hostNetwork/hostIPC/hostPID/shareProcessNamespace
|
||||||
|
- Pod 安全上下文: runAsUser/runAsGroup/fsGroup/runAsNonRoot/seLinuxOptions
|
||||||
|
|
||||||
|
**验收标准**:
|
||||||
|
- [ ] 可定义 6 种数据卷并挂载到容器
|
||||||
|
- [ ] 可编辑更新策略和调度策略
|
||||||
|
- [ ] 保存后 K8s 中实际生效
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### M9: 服务/应用路由 Tab + 整体联调 [pending]
|
||||||
|
**目标**: Service/Ingress 可视化创建 + 编辑器整体联调
|
||||||
|
|
||||||
|
**改动**:
|
||||||
|
- 新增 `DeploymentEditService.tsx`:
|
||||||
|
- 服务发布: Service 名称/类型(ClusterIP/NodePort/LoadBalancer)/选择器/端口映射
|
||||||
|
- 应用路由: Ingress 名称/规则(host/path/service/port)
|
||||||
|
- 如果已有关联 Service/Ingress → 显示编辑;没有 → 提供创建
|
||||||
|
- 整体联调:
|
||||||
|
- 5 Tab 数据合并为一个完整 manifest → PUT 到 K8s API
|
||||||
|
- 编辑模式顶部增加「保存」/「取消」/「预览 YAML」
|
||||||
|
- 取消旧 `DeploymentEdit.tsx`(374 行浅层编辑器)
|
||||||
|
|
||||||
|
**验收标准**:
|
||||||
|
- [ ] 可在编辑器内创建/编辑关联 Service
|
||||||
|
- [ ] 5 Tab 编辑的数据合并保存成功
|
||||||
|
- [ ] 旧 DeploymentEdit.tsx 删除,无残留引用
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 后续规划(P2+)
|
## 后续规划(P2+)
|
||||||
|
|
||||||
| 模块 | 描述 |
|
| 模块 | 描述 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| M6 | Node 详情页(PID/容器运行时/分配率) |
|
| M10 | Node 详情页(PID/容器运行时/分配率) |
|
||||||
| M7 | Service/Ingress 在线编辑 |
|
| M11 | StatefulSet/DaemonSet 详情页(对标 Deployment) |
|
||||||
| M8 | StatefulSet/DaemonSet 详情页(对标 Deployment) |
|
| M12 | 事件聚合 + 告警联动 |
|
||||||
| M9 | 事件聚合 + 告警联动 |
|
| M13 | 多集群资源对比看板 |
|
||||||
| M10 | 多集群资源对比看板 |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user