# K8s 管理功能评估基线 > 生成时间: 2026-06-21 | 评估人: Logan + AI ## 总体规模 | 层 | 规模 | |----|------| | 后端 `kubernetes.go` | 2583 行 / 99 个函数 / 74 个路由 | | 后端 `kubernetesclient/client.go` | 1486 行 | | 前端组件 | 22 个 .tsx / 7498 行 | ## 功能评估 ### ✅ 已完成(90%) | 功能 | 后端 | 前端 | 验证状态 | |------|:----:|:----:|:--------:| | 集群 CRUD + 同步 | ✅ | ✅ | ✅ 已验证 | | 集群表单(名称即 code) | ✅ | ✅ NAME_RE 正则 | ✅ | | 节点列表 + 实时 metrics | ✅ ListNodes 调 GetNodeMetrics | ✅ ClusterOverviewPage | ⚠️ 实时OK,DB缓存缺 | | Pod 列表 | ✅ | ✅ | ✅ | | Deployment 列表/详情 | ✅ | ✅ DeploymentView + DeploymentWorkload | ✅ | | Deployment view/edit 路由 | ✅ | ✅ /:mode/:kind/:name | ✅ | | Deployment 伸缩/重启/镜像更新 | ✅ scale/restart/update-image | ✅ | ✅ | | Deployment 历史版本/回滚 | ✅ revisions/rollback | ✅ | ✅ | | Pod 日志(实时流) | ✅ GetPodLogs | ✅ PodLogsViewer fetch stream | ✅ | | Pod 终端 exec | ✅ ExecTerminal(WS) | ✅ PodExecTerminal bash/sh/ash | ✅ | | Pod 文件浏览 + 下载 + 上传 | ✅ files/list + files/download + files/upload | ✅ PodFileBrowser | ✅ | | YAML 查看/编辑 | ✅ GetYAML + UpdateYAML | ✅ YamlViewer | ✅ | | ReplicaSet 列表 | ✅ | ✅ | ✅ | | Service/Ingress 列表 | ✅ | ✅ | ✅ | | HPA 列表/创建/删除 | ✅ | ✅ | ✅ | | ConfigMap/Secret 列表 | ✅ | ✅ | ✅ | | ConfigMap/Secret 编辑 | ✅ UpdateResourceYAMLNS | ✅ YamlViewer(autoEdit) | ✅ curl 验证 | | Events 列表 | ✅ ListEvents | ✅ EventsPage | ✅ | | 容量分析 | ✅ GetCapacityAnalysis | ✅ CapacityPage | ✅ | | kubectl 终端 | ✅ KubectlShell(WS) | ✅ KubectlTerminal | ✅ | | 拓扑图 | ✅ topology get/save | ✅ TopologyView | ✅ | ### ❌ 缺失 / 进行中 | 功能 | 优先级 | 说明 | |------|:------:|------| | 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 | ✅ 已完成 M5 — 跳转流水线页面 | | Deployment 暂停更新 | ✅ | P3 | ✅ 已完成 M5 — pause/resume 端点 + 暂停 Badge | ### 📋 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 2. **metrics-server 已安装** — `kubectl top nodes` 正常返回 3. **自研 K8s 客户端** — 不用 client-go,保持轻量 net/http 方案 4. **两个数据路径**:ListNodes 实时调 API(含 metrics),SyncCluster 写 DB(缺 metrics)→ 前端不同页面读不同路径