← 返回上一頁
Kubernetes

KubePi — 輕量好用的 Kubernetes 多叢集圖形化管理面板

本頁目錄
KubePi Kubernetes Dashboard 概覽介面截圖

前言

自從 KubeSphere 宣布閉源之後,不少人開始尋找替代的 Kubernetes 圖形化管理工具。最近我試用了一套叫做 KubePi 的開源專案,發現它不僅輕量好部署,功能也相當齊全,特別是多叢集管理使用者權限控制這兩個我最在意的功能,都有不錯的表現。這篇就來分享一下我的實際使用心得。

KubePi 是什麼?

簡單來說,KubePi 是一款現代化的 Kubernetes 管理面板。它的核心賣點在於:

  • 支援匯入多個 Kubernetes 叢集,在同一個介面統一管理
  • 透過內建的權限控制機制,可以將不同 Cluster、Namespace 的操作權限分配給指定的使用者
  • 提供開發人員友善的介面來管理叢集內的應用程式,方便進行除錯與故障排查

專案的 GitHub 位址:https://github.com/1Panel-dev/KubePi

KubePi Kubernetes 管理面板操作示範 GIF
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 數量、資源使用狀況等統計資訊。

KubePi Kubernetes Dashboard 概覽介面截圖
KubePi Dashboard 概覽介面

叢集資源分組

分類 包含資源
集群分組 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 值得一試。

分享這篇
X LinkedIn Facebook Hacker News Reddit

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料