You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kubernetes Dashboard部署页面添加CLUSTER-IP:PORT自定义列?

在Kubernetes Dashboard Deployment页面添加自定义CLUSTER-IP:PORT列

Kubernetes Dashboard原生不支持通过网页界面直接添加自定义列——所有实现自定义列的方案都需要涉及配置修改或代码定制,以下是两种可行的实现路径:

1. 自定义构建Dashboard(最贴合需求)

如果需要在原生Deployment列表页面直接添加该列,必须修改Dashboard的前端代码并重新构建:

  • 克隆官方仓库:git clone https://github.com/kubernetes/dashboard.git
  • 进入前端资源配置目录(路径随版本略有差异,通常是dashboard/web/app/frontend/resource/deployment)
  • 找到列表列的定义文件,新增一个列配置,逻辑是关联对应Deployment的Endpoints资源,提取ClusterIP和Port并拼接成CLUSTER-IP:PORT格式
    示例代码片段(需适配当前Dashboard版本):
    {
      name: 'cluster-ip-port',
      label: 'CLUSTER-IP : PORT',
      sortable: false,
      cellTemplate: (data) => {
        // 逻辑:根据Deployment的名称和命名空间查询对应Endpoints
        const endpoints = data.object.metadata.namespace 
          ? getEndpoints(data.object.metadata.name, data.object.metadata.namespace)
          : null;
        return endpoints?.subsets?.flatMap(subset => 
          subset.addresses?.map(addr => `${addr.ip}:${subset.ports?.map(p => p.port).join(',')}`)
        ).join(', ') || '-';
      }
    }
    
  • 按照官方文档的步骤编译Dashboard镜像,替换集群中运行的Dashboard实例

2. 自定义视图(无需修改代码的替代方案)

如果不想改动Dashboard源码,可以用自定义视图功能实现近似效果:

  • 登录Dashboard后,点击左侧栏的「+」选择「Create View」
  • 配置视图关联Deployment和Endpoints资源,通过标签选择器(比如app=<你的应用名>)匹配同一应用的资源
  • 在列配置中添加Endpoints的IP和Port列,部分新版本支持自定义模板直接拼接成IP:PORT格式

关键提醒

  • 两种方案都需要集群管理员权限
  • 自定义构建时要确保Dashboard版本与集群Kubernetes版本兼容
  • 旧版Dashboard的自定义视图可能不支持跨资源关联或模板拼接

内容的提问来源于stack exchange,提问作者Ilya Bokov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:01:27