Kubernetes 視覺化工具怎麼選?初學者的 GUI、TUI 指南
文章目錄
圖片來源:Headlamp GitHub
前陣子讀《從異世界歸來發現只剩自己不會 Kubernetes》時,作者在開篇不久就推薦了 Kubernetes Dashboard。
我立刻燃起了興趣!畢竟我本來就是 GUI 愛好者。
尤其 Kubernetes 這種東西,一開始光是名詞就夠多了。Pod、Deployment、Service、Node、Namespace,還沒開始排查問題,光是先建立畫面感就已經很吃力。
如果有個視覺化工具,對初學者想必會很有幫助,本書作者也是這麼想的。
本文想回答的問題是:「現在如果想用視覺化方式看 Kubernetes 叢集,該選什麼?」
討論範圍只限用來看叢集狀態的 GUI 和 TUI。像 Prometheus、Grafana、stern 這類不同範疇的工具,就先不展開。
Kubernetes Dashboard:時代的眼淚
Kubernetes Dashboard 是官方推出的 Web UI,由 Kubernetes 社群維護,部署在 cluster 內,並透過瀏覽器存取。
我照著書中的說明去裝了,也實際把它跑起來了,如下圖:
Kubernetes Dashboard
然而,這個專案已經在 2026 年 1 月 21 日被官方封存了。
實際裝過一次之後,我也必須承認,它真的不算友好。
麻煩一:自己部署進 cluster
首先,它不是下載即用。你得把一整套元件手動部署到自己的 cluster,即便用 Helm 這種最簡單的方式,也需要一連串步驟才能裝好。
而且這不只是「多做幾步」那麼簡單——它會持續佔用 cluster 的資源。
麻煩二:每次連線都要重來一輪
更煩的是後續使用。每次要開 Dashboard,你得先跑一次 port-forward,然後透過指令產生 token。
而且 token 的效期很短——用 kubectl create token 產生的話,預設只有一小時,過了就得重拿。長效 token 則要用另一套流程來產生。
相較之下,像 Headlamp 這種直接吃 kubeconfig 的桌面 App,進入門檻明顯低得多。
舊時代的退場
只能說,Dashboard 這種 browser-based、in-cluster 的思路,確實愈來愈不符合現在大家使用 Kubernetes 的方式。
也難怪它會被官方封存了。
現役選項一覽
講完退場的,接下來進入現役選項。本文要介紹的工具如下:
| 工具 | 類型 | 特色 | 適合情境 |
|---|---|---|---|
| Headlamp | GUI | 輕量、直接吃 kubeconfig、由 Kubernetes SIG 維護 | 個人學習、單叢集、想要 GUI 輔助 |
| Lens | GUI | 功能完整、整合度高、視覺化強 | 想要 all-in-one 體驗、不介意工具較重 |
| Rancher | GUI | 多叢集管理、權限與平台治理 | 企業、平台團隊、多叢集場景 |
| K9s | TUI | 快、輕、排查導向 | 日常巡檢、快速觀察、鍵盤工作流 |
Headlamp:Dashboard 接班人
Kubernetes Dashboard 被封存後,官方在 repo 中建議改用 Headlamp 作為替代方案。它目前由 Kubernetes SIG 維護,是一條有延續性的路線。
實際用過之後,不難理解它為什麼會被指定為替代選項。
Headlamp UI
Headlamp 一樣支援透過 Helm 以 in-cluster 的方式部署成 Web UI。
不過對大多數人而言,最直覺的用法還是桌面版 app:可直接讀取本機的 kubeconfig 連線資訊,不需要先往 cluster 裡裝一套東西,有效降低了使用門檻。
對「我只是想看懂叢集裡有什麼」這個需求來說,這條路明顯簡單得多。
更別說它一樣能夠操作資源,但通常我不會這麼做😅。操作資源我會乖乖使用 kubectl。
我未必認為它的畫面呈現有全方位超越 Dashboard,但它至少把安裝與登入的摩擦感降了很多。
有了 Headlamp,你可以很快地點進 Pod、Deployment、Node,看資源關係、事件、YAML,先把整個 cluster 的結構感建立起來。對還在學 Kubernetes 的人來說,這種畫面感很有價值。
所以如果你的需求是:單人、單叢集、學習導向、想保留 GUI 輔助,那 Headlamp 幾乎就是目前最合理的起點。
Lens:完整,但更重
Lens 是由 Mirantis 維護的 Kubernetes 桌面客戶端,也是目前功能最完整的選項之一。
比起 Headlamp,Lens 的整合度與周邊都更完整:內建的 metrics 視覺化、整合式 terminal、多 cluster workspace,以及比較成熟的 extension 生態,這些都是它長年累積下來的優勢。
對於想用一個工具滿足多種需求的人來說,這種體驗是有吸引力的。
但它的缺點也很明顯,就是比較「重」。不只是執行層面的重,也包括整個工具帶有比較強的商業產品感。雖然有免費版可以用,但你打開它的時候,感受上比較像是進入一個完整產品的生態,而不只是開了一個輕量工具。
更多關於 Lens 的介紹,可參考以下文章:
Rancher:不只是 cluster viewer
Rancher 是由 SUSE 維護的開源平台,跟我之前文章介紹過的 K3s 是同一家出品。
它的定位跟前面兩個桌面工具不太一樣。如果只是把它跟 Headlamp、Lens 一起當成「看叢集狀態的工具」,就有點小看它了。
先用一張表看清楚差異:
| Headlamp / Lens | Rancher | |
|---|---|---|
| 定位 | 桌面客戶端 | 平台級管理介面 |
| 部署方式 | 本機安裝,直接吃 kubeconfig | 需要部署到 cluster 或獨立主機上 |
| 使用對象 | 個人開發者、學習者 | 平台團隊、多叢集管理者 |
| 核心能力 | 查看與操作叢集資源 | 多叢集治理、權限控管、應用發佈、團隊協作 |
Rancher 真正的主場,是平台團隊、多叢集、權限控管這些工作。它解決的是治理,而不僅僅是「看懂叢集」這樣的需求。
Lens 和 Rancher 我在工作上都用過。就個人使用感受來說,Rancher 的 UI 我比較能接受;Lens 那種一看就知道是用 Electron 寫的笨重感,如果可以,我真的不想用XD
K9s:TUI 的首選
K9s 是一個開源的 Kubernetes TUI 工具。所謂 TUI,就是「Terminal UI」——在終端機裡提供類似 GUI 的視覺化介面,但以鍵盤操作為主。像 htop(系統監控)、lazygit(Git 操作),都是經典的 TUI 工具。
如果說 GUI 比較像是幫你建立畫面感,那 TUI 更像是幫你建立操作節奏——K9s 的價值就在這裡。它快、輕,而且非常排查導向。
你可以透過它快速切換 namespace、查看 Pod 的狀態、進入容器的 terminal,甚至直接在裡面編輯資源的 YAML。
跟 Headlamp、Lens 一樣,它也是本機安裝、直接吃 kubeconfig,不需要在 cluster 裡部署任何東西。
對已經有一點 Kubernetes 手感、也不排斥終端機的人來說,K9s 很容易變成日常主力,因為它剛好補上了 GUI 不擅長的那一面。
結語
kubectl當然是最重要的,這點無庸置疑。
GUI 和 TUI 的價值在於,它們讓初學者可以先透過比較友善的介面建立全局感,以更低的認知負擔熟悉 Kubernetes。
所以如果你問我,Kubernetes 視覺化工具,該從哪個開始?
那就是 Headlamp!