From 0ebe22d142caecc54064434a90182bc128c249de Mon Sep 17 00:00:00 2001 From: attacker Date: Sun, 14 Jun 2026 20:13:04 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=97=A5=E5=BF=97=20=E2=80=94=20=E8=AE=B0=E5=BD=95K8s=E6=8B=93?= =?UTF-8?q?=E6=89=91=E5=9B=BE=E6=8E=A5=E5=85=A5=E7=9C=9F=E5=AE=9E=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev-log.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/dev-log.md b/docs/dev-log.md index 460e9c0..01c6aed 100644 --- a/docs/dev-log.md +++ b/docs/dev-log.md @@ -350,3 +350,39 @@ cd ~/devops/aiops - CabinetView/ResourceModelManager 仍使用 mock 数据 - AIPredictiveAnalytics 预测分析仍使用 mock 数据 - 脚本执行/定时任务执行增加真实执行日志反馈 + +## 2026-06-14 20:15 自动推进 + +- **任务**: K8s集群拓扑图(TopologyView)接入真实后端数据 — 替换硬编码mock拓扑为真实K8s资源分层可视化 +- **修改**: + - `frontend/src/components/k8s/TopologyView.tsx` (完全重写): + - 新增 `buildTopology()` 函数:从真实 K8s 资源(Ingress/Service/Deployment/Node)构建5层分层拓扑图 + - Layer 0 Cluster → Layer 1 Ingress → Layer 2 Service → Layer 3 Deployment → Layer 4 Node + - Ingress→Service 连线:解析 backend "svcName:port" 精确匹配,回退命名空间匹配 + - Service→Deployment 连线:selector JSON 标签匹配 deployment labels,回退命名空间匹配 + - Deployment→Node 连线:Deployment 的 Pod 调度到 worker 节点(前3个) + - 替换 `import { topologyNodes, topologyEdges } from '@/mocks/data'` 为 `import { k8sApi } from '@/services/api'` + - 新增集群选择器(Select):自动加载集群列表,默认选第一个,切换集群重新加载拓扑 + - 新增加载中状态(Loader2 旋转动画)和空状态提示 + - 节点详情弹窗:展示 K8s 资源属性(namespace/replicas/image/ip/role/status 等)和真实关联连接 + - 5个统计卡片:总节点数/连接数/Ingress数/Service数/Deployment数(动态计算) + - 过滤器更新:节点类型下拉新增 Ingress/Service/Deployment/Node 选项 + - 每层最多展示12个节点(超出截断)避免过度拥挤;动态画布宽度自适应 + - SVG 渲染增加层级标签(集群/Ingress/Service/Deployment/Node) + - `frontend/src/services/http.ts`: + - 修复 `return json.data !== undefined ? json.data : json` 的类型错误(TS2322) — 添加 `as T` 类型断言 +- **结果**: + - `npx tsc --noEmit` 类型检查通过 ✅ + - `npm run build` 构建通过 ✅ + - 后端 `go build ./...` 编译通过 ✅ + - 浏览器验证: prod-cluster 拓扑展示29个真实节点(1集群+4 Ingress+8 Service+6 Deployment+10 Node)、45条连接线 ✅ + - 浏览器验证: 统计卡片显示真实数值(29/45/4/8/6) ✅ + - 浏览器验证: 点击 nginx-deploy 节点弹窗显示真实属性(namespace=ingress-nginx, replicas=5, image=nginx:1.25.3) + 关联连接(mysql-svc/es-svc/frontend-svc 选中 → prod-node-2/3/4 调度) ✅ + - 浏览器验证: 5层标签正确显示(集群/Ingress/Service/Deployment/Node) ✅ + - 浏览器验证: 无 console 错误 ✅ + - git push origin master 成功 (commit 9f65faf) ✅ +- **下一步建议**: + - CabinetView/ResourceModelManager 仍使用 mock 数据 + - AIPredictiveAnalytics 预测分析仍使用 mock 数据 + - 脚本执行/定时任务执行增加真实执行日志反馈 + - 拓扑图增加缩放/拖拽交互(当前为静态SVG)