前言
自從 KubeSphere 宣布閉源之後,不少人開始尋找替代的 Kubernetes 圖形化管理工具。最近我試用了一套叫做 KubePi 的開源專案,發現它不僅輕量好部署,功能也相當齊全,特別是多叢集管理和使用者權限控制這兩個我最在意的功能,都有不錯的表現。這篇就來分享一下我的實際使用心得。
KubePi 是什麼?
簡單來說,KubePi 是一款現代化的 Kubernetes 管理面板。它的核心賣點在於:
- 支援匯入多個 Kubernetes 叢集,在同一個介面統一管理
- 透過內建的權限控制機制,可以將不同 Cluster、Namespace 的操作權限分配給指定的使用者
- 提供開發人員友善的介面來管理叢集內的應用程式,方便進行除錯與故障排查
專案的 GitHub 位址:https://github.com/1Panel-dev/KubePi

安裝方式
KubePi 的部署非常簡單,官方提供了 Docker 一行指令快速啟動:
docker run --privileged -d --restart=unless-stopped -p 80:80 1panel/kubepi
# 預設帳號: ********
# 預設密碼: ********
不過我個人比較習慣用 Docker Compose 的方式來管理,方便後續維護和重啟。以下是我使用的 YAML 範例:
services:
kubepi:
image: 1panel/kubepi:v1.9.0
ports:
- 8090:80
volumes:
- /data/kubepi:/var/lib/kubepi
restart: always
部署完成後,瀏覽器開啟對應的 port 就能看到登入畫面了。如果你有自訂的 API Server 域名解析需求,可以在 extra_hosts 裡面加上對應的映射。
功能介面總覽
登入之後,KubePi 的整體介面算是簡潔直覺的,以下整理各個主要功能區塊:
叢集管理
在主畫面可以看到已匯入的叢集列表。點擊「控制台」就能進入該叢集的管理介面,首先映入眼簾的是概覽頁面,會顯示叢集的 Node 數量、Pod 數量、資源使用狀況等統計資訊。

叢集資源分組
| 分類 | 包含資源 |
|---|---|
| 集群分組 | Nodes、Namespaces、Events、CRD |
| 工作負載 | Pods、Deployments、DaemonSets、StatefulSets、Jobs、CronJobs |
| 服務發現 | Services、Ingresses |
| 配置 | ConfigMaps、Secrets |
| 儲存 | PersistentVolumes、PersistentVolumeClaims、StorageClasses |
| 存取控制 | ServiceAccounts、Roles、RoleBindings、ClusterRoles |
Pod 操作功能
在工作負載的 Pod 清單中,每個 Pod 都提供了便捷的操作入口,包含:
- 即時日誌檢視:可以直接在網頁上查看 Pod 的日誌輸出,不用再 SSH 進去下
kubectl logs - 終端機(Terminal):直接在瀏覽器內開啟 Pod 的終端,等同於
kubectl exec -it的效果 - YAML 編輯:可以直接修改 Pod 或其他資源的 YAML 定義
應用程式管理(Helm)
KubePi 也整合了 Helm 的管理功能,可以在介面上直接查看透過 Helm 部署的 Release,甚至可以進行卸載操作,對於習慣用 Helm 管理應用的團隊來說相當方便。
使用者管理與權限控制
老實說,這才是我選擇 KubePi 的最主要原因。官方的 Kubernetes Dashboard 雖然也能用,但如果要做到多人多叢集的權限劃分,設定起來相當麻煩。
KubePi 在這方面做得很直覺:
- 在「使用者管理」頁面可以建立使用者帳號,並指派不同的角色
- 回到叢集列表,可以針對每個叢集設定哪些使用者有存取權限
- 還能進一步限制使用者只能操作特定的 Namespace
這樣一來,就算團隊裡有多個專案、多個環境,也能透過 KubePi 輕鬆做到權限隔離。
心得總結
自從 KubeSphere 閉源之後,社群裡冒出了不少類似的替代工具,KubePi 算是其中體驗不錯的一個。對我來說,它的優勢在於:
- 部署超簡單:一個 Docker 容器就搞定
- 多叢集支援:可以在同一個面板管理多個 K8s 叢集
- 權限控制實用:能夠依照使用者、叢集、Namespace 來劃分權限
- 介面直覺:基本操作都能在網頁上完成,降低了 kubectl 的使用門檻
如果你也在找一個輕量級的 Kubernetes 管理面板,KubePi 值得一試。

發佈留言