feat(k8s): M10 Node 详情页 — PID/容器运行时/分配率
- 后端: GetNodeDetail handler — 获取单个节点完整信息 * 系统信息: container_runtime/architecture/kubelet/os/kernel * 资源分配率: 遍历 Pod 计算 CPU/Memory/Pods requested vs allocatable * metrics-server 数据注入 (cpu_usage_m/mem_usage_mi) * 全量 conditions/taints/labels + 节点上的 Pod 列表 - 后端: K8s 客户端扩展 * NodeTaint/NodeCondition 扩展字段 (reason/message) * NodeInfo 增加 architecture/operatingSystem * GetNode(name) 单节点查询方法 * parseCpuToMilli()/parseMemToMi() 资源解析辅助函数 - 后端: 注册路由 * GET /kubernetes/:clusterCode/nodes/:name (Kuboard code) * GET /kubernetes-clusters/:id/nodes/:name (ID) - 前端: NodeDetailPage.tsx (~330行) * 系统信息卡片 + 资源分配率卡片(进度条) * 条件卡片 + 污点卡片 + 标签卡片 + Pod 列表 - 前端: 节点名称可点击跳转 (ClusterOverviewPage) - 验证: API/SPA/TS/Vite 全部通过
This commit is contained in:
1 parent
28dfc519e1
commit
87b7755094
16 files changed
+921
-52
No files matched your search
+17
-11
@@ -17,21 +17,27 @@ export interface Server {
|
||||
diskUsage: number;
|
||||
}
|
||||
|
||||
// Kubernetes集群
|
||||
// Kubernetes集群 — 字段与后端 kubernetes_clusters 表 + JSON tag 一致(snake_case)
|
||||
export interface KubernetesCluster {
|
||||
id: string;
|
||||
id: number;
|
||||
name: string;
|
||||
code?: string; // 唯一标识,用于 Kuboard 路由 // Logan.Li
|
||||
code: string; // 唯一标识,必填 // Logan.Li
|
||||
version: string;
|
||||
nodes: number;
|
||||
pods: number;
|
||||
services: number;
|
||||
deployments: number;
|
||||
status: 'healthy' | 'warning' | 'error';
|
||||
cpuUsage: number;
|
||||
memoryUsage: number;
|
||||
createdAt: string;
|
||||
namespace: string;
|
||||
config_type: number; // 0=token, 1=kubeconfig
|
||||
api_server: string;
|
||||
api_endpoint: string;
|
||||
node_count: number;
|
||||
pod_count: number;
|
||||
service_count: number;
|
||||
deployment_count: number;
|
||||
cpu_usage: number;
|
||||
memory_usage: number;
|
||||
description: string;
|
||||
labels: string; // JSON string
|
||||
last_sync_at: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
// K8s节点
|
||||
|
||||
Reference in new issue
Block a user