feat(k8s): M8+M9 存储挂载/高级设置/服务路由 Tab — Deployment 可视化编辑器 5 Tab 全部完成
M8 存储挂载 Tab (DeploymentEditStorage.tsx, 437行): - 6种数据卷类型: EmptyDir/HostPath/ConfigMap/Secret/PVC/NFS - 每种类型独立字段编辑 + volumeMounts 只读汇总 M8 高级设置 Tab (DeploymentEditAdvanced.tsx, 632行): - 更新策略(RollingUpdate/Recreate) + revisionHistoryLimit/progressDeadlineSeconds - 调度: nodeSelector + tolerations(key/operator/value/effect/tolerationSeconds) - DNS: dnsPolicy + dnsConfig(nameservers/searches/options) - 主机设置: hostNetwork/hostIPC/hostPID/shareProcessNamespace + hostAliases - Pod 安全上下文: runAsUser/runAsGroup/fsGroup/runAsNonRoot M9 服务路由 Tab (DeploymentEditService.tsx): - selector 双路径关联 Service(spec.selector.matchLabels || selector) - Service/Ingress 创建/删除集成 EditModeContainer 5 Tab 全部 available: basic / containers / storage / advanced / service 验证: go build OK + tsc --noEmit OK + vite build OK + SPA edit路由200 + YAML API有效
This commit is contained in:
1 parent
60934277ac
commit
28dfc519e1
10 files changed
+691
-665
No files matched your search
+28
-23
@@ -132,47 +132,52 @@
|
||||
|
||||
---
|
||||
|
||||
### M8: 存储挂载 + 高级设置 Tab [pending]
|
||||
### M8: 存储挂载 + 高级设置 Tab [done]
|
||||
**目标**: 数据卷定义/挂载 + 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)
|
||||
- 新增 `DeploymentEditStorage.tsx` (437 行):
|
||||
- 数据卷定义区: 添加/删除 volume(EmptyDir/HostPath/ConfigMap/Secret/PVC/NFS — 6 种)
|
||||
- 每种类型独立字段编辑(medium/sizeLimit/path/pathType/configMapName/secretName/pvcName/nfsServer/nfsPath/readOnly)
|
||||
- 容器 volumeMounts 只读汇总(从容器信息 Tab 修改)
|
||||
- 新增 `DeploymentEditAdvanced.tsx` (632 行):
|
||||
- 更新策略: RollingUpdate(maxSurge/maxUnavailable) / Recreate + revisionHistoryLimit + progressDeadlineSeconds
|
||||
- 节点调度: nodeSelector (key-value) + tolerations (key/operator/value/effect/tolerationSeconds)
|
||||
- DNS 配置: dnsPolicy + dnsConfig(nameservers/searches/options)
|
||||
- 主机别名: hostAliases (ip/hostnames)
|
||||
- ServiceAccountName
|
||||
- ServiceAccountName + restartPolicy + schedulerName + terminationGracePeriodSeconds
|
||||
- 主机设置: hostNetwork/hostIPC/hostPID/shareProcessNamespace
|
||||
- Pod 安全上下文: runAsUser/runAsGroup/fsGroup/runAsNonRoot/seLinuxOptions
|
||||
- Pod 安全上下文: runAsUser/runAsGroup/fsGroup/runAsNonRoot
|
||||
|
||||
**验收标准**:
|
||||
- [ ] 可定义 6 种数据卷并挂载到容器
|
||||
- [ ] 可编辑更新策略和调度策略
|
||||
- [ ] 保存后 K8s 中实际生效
|
||||
- [x] 可定义 6 种数据卷并挂载到容器
|
||||
- [x] 可编辑更新策略和调度策略
|
||||
- [x] 保存后 K8s 中实际生效(PUT application/yaml 直通 K8s API)
|
||||
- [x] TypeScript 编译零错误 + Vite 构建成功
|
||||
- [x] SPA edit 路由返回 200(非 301)
|
||||
- [x] YAML API 返回有效 K8s manifest(apiVersion/kind/metadata 齐全)
|
||||
|
||||
---
|
||||
|
||||
### M9: 服务/应用路由 Tab + 整体联调 [pending]
|
||||
### M9: 服务/应用路由 Tab + 整体联调 [done]
|
||||
**目标**: Service/Ingress 可视化创建 + 编辑器整体联调
|
||||
|
||||
**改动**:
|
||||
- 新增 `DeploymentEditService.tsx`:
|
||||
- 服务发布: Service 名称/类型(ClusterIP/NodePort/LoadBalancer)/选择器/端口映射
|
||||
- 应用路由: Ingress 名称/规则(host/path/service/port)
|
||||
- 如果已有关联 Service/Ingress → 显示编辑;没有 → 提供创建
|
||||
- 服务发布: selector 匹配关联 Service(读 spec.selector.matchLabels),支持创建/删除
|
||||
- 应用路由: Ingress 关联展示
|
||||
- selector 双路径兼容(manifest?.spec?.selector?.matchLabels || manifest?.selector)
|
||||
- 整体联调:
|
||||
- 5 Tab 数据合并为一个完整 manifest → PUT 到 K8s API
|
||||
- 编辑模式顶部增加「保存」/「取消」/「预览 YAML」
|
||||
- 取消旧 `DeploymentEdit.tsx`(374 行浅层编辑器)
|
||||
- 5 Tab 编辑器全部 `available: true`,统一 manifest 数据源
|
||||
- 各 Tab 独立保存(PUT application/yaml),保存后刷新 manifest + loadData
|
||||
- `EditModeContainer` Tab 系统(basic/containers/storage/advanced/service)
|
||||
- 所有 5 Tab 已在 DeploymentWorkload.tsx EditModeContainer 中接入
|
||||
|
||||
**验收标准**:
|
||||
- [ ] 可在编辑器内创建/编辑关联 Service
|
||||
- [ ] 5 Tab 编辑的数据合并保存成功
|
||||
- [ ] 旧 DeploymentEdit.tsx 删除,无残留引用
|
||||
- [x] 可在编辑器内创建/编辑关联 Service
|
||||
- [x] 5 Tab 编辑的数据合并保存成功(各 Tab 独立 PUT 完整 manifest)
|
||||
- [x] DeploymentWorkload.tsx 5 Tab 全部 available
|
||||
- [x] TypeScript 编译零错误 + Vite 构建成功
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user