前言¶
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
使用方法¶
- 打開 DSH 並新建一個會話。
- 在視圖切換欄點擊 Kubernetes tab(與 Chat / Trajectory 並列)。
- 點擊頂部工具欄的 Add Config。
- 輸入集羣名稱,粘貼 kubeconfig YAML 內容,點擊確認。
- 通過頂部下拉框切換不同的集羣。
- 在左側資源樹中選擇資源,點擊查看詳情或操作。
添加配置¶
插件會將每個集羣的配置保存到 ~/.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。