dsh-k8s-manager:DSH 中的 Lens 风格 Kubernetes 集群管理插件

前言

DeepSeek Harness (DSH) 采用了插件化架构,旨在为用户提供灵活的扩展能力。dsh-k8s-manager 是一个专门为 DSH 设计的插件,它提供了 Lens 风格的 Kubernetes 集群管理界面。该插件解决了在浏览器环境中管理多个 K8s 集群时的操作痛点,通过复用本地的 kubectl 和 kubeconfig,实现了无需远程依赖的集群管理体验。

功能特性

  • 多集群管理:支持添加、切换和删除多个 kubeconfig,通过顶部下拉框快速切换上下文。
  • 资源浏览:支持浏览 Pods、Deployments、StatefulSets、DaemonSets、Jobs、CronJobs、ReplicaSets、Services、Ingresses、Endpoints、ConfigMaps、Secrets、PV、PVC、StorageClasses、Nodes、Namespaces 和 Events。
  • Namespace 筛选:在资源列表中按 Namespace 进行过滤。
  • 详情与日志:查看任意资源的 YAML 详情和实时 Logs。
  • 交互式 Shell:利用 xterm.js 和 node-pty 进入任意 Pod 内部进行调试。
  • 写操作:支持 Restart(重启)、Scale(扩缩容)和 Edit & Apply(编辑并应用 YAML)。
  • 无远程依赖:所有操作基于本地已配置的 kubectl,不消耗远程 API 资源。

安装与启用

使用官方安装命令将插件添加到 DSH Web 配置中:

dsh plugin --profile web add github:MrYangyt/dsh-k8s

安装完成后,需要重启 DSH Web 进程以使插件生效:

dsh web

使用方法

  1. 打开 DSH 并新建一个会话。
  2. 在视图切换栏点击 Kubernetes tab(与 Chat / Trajectory 并列)。
  3. 点击顶部工具栏的 Add Config。
  4. 输入集群名称,粘贴 kubeconfig YAML 内容,点击确认。
  5. 通过顶部下拉框切换不同的集群。
  6. 在左侧资源树中选择资源,点击查看详情或操作。

添加配置

插件会将每个集群的配置保存到 ~/.kube/configs/<name>.yaml,并将所有配置合并到主配置文件 ~/.kube/config 中。YAML 中的 context 名称会自动重命名为你填写的集群名字。

Pod Shell 调试

选择一个 Pod,打开 Shell tab,选择 container 并点击 Connect。插件会尝试通过 node-pty 启动交互式终端。如果当前平台没有预编译的 node-pty 二进制文件,插件会自动降级到 kubectl exec -i 模式。

手动刷新

资源列表默认会自动刷新。如果需要手动更新,可以点击工具栏上的 Refresh 按钮。

注意事项

  • 二次确认:所有写操作(Restart、Scale、Apply YAML)在执行前都需要二次确认。
  • 风险提示:执行 Apply YAML 操作时,插件会明确提示“请确保你在测试资源上操作”。
  • 配置路径:插件不会直接覆盖你现有的 ~/.kube/config,而是将其作为备份或合并源,确保原有配置安全。
  • 前置要求:必须先安装 kubectl 并确保其在系统 PATH 中。交互式 Shell 的完整功能依赖 node-pty,Linux 可能需要 make g++ python3,macOS 需要 Xcode Command Line Tools,Windows 需要 Visual Studio Build Tools。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜