Portainer 是一款主打將 docker 可視化的 Dashboard 管理工具,近年來也支援了 Kubernetes,其簡單清爽易用的設計成為了多數容器玩家的優先選擇。
Portainer 區分為社群版 Portainer-CE 和企業版 Portainer-EE(Business Edition),主要差別在於提供了多租戶功能與日誌稽核審查…等,目前企業版僅提供 3 個節點內可無償體驗,注意!這邊的三個節點是指主機數量,比如我想在我的 Environments 中添加一個擁有 4 個 nodes 的 Kubernetes Cluster 這樣是不行的唷。
企業版相較於社群版本增強的功能如下:
Portainer 區分為社群版 Portainer-CE 和企業版 Portainer-EE(Business Edition),主要差別在於提供了多租戶功能與日誌稽核審查…等,目前企業版僅提供 3 個節點內可無償體驗,注意!這邊的三個節點是指主機數量,比如我想在我的 Environments 中添加一個擁有 4 個 nodes 的 Kubernetes Cluster 這樣是不行的唷。
企業版相較於社群版本增強的功能如下:
- Role Based Access Controls (RBAC)
- Authentication and Activity Audit Logging
- Enhanced Support for OAuth
- Private Registry Management
- Advanced GitOps
- Resource Management Quotas
- Automatic Backups to S3
- And more. View all Business Edition features
特別聊聊多租戶功能
個人或小工作室使用還行、企業組織就不用想了,Portainer-EE 的多租戶功能分為用戶、群組、角色,比較可惜的是 Roles 皆為系統預設提供的設計,無法自定義,也無法禁止或允入個別 nodes 或 namespaces,細節權限部分對於 docker nodes 也許仍有餘裕,但對於 Kubernetes Cluster 的 RBAC 就真的差點意思了先決條件:作業系統需事前安裝好 docker 或 podman系統套件:docker v20.10.24、docker-copose-plugin v2.27.0實驗版本:Portainer-CE Version 2.29.2 STS、Portainer-EE Version 2.33.1 LTS
安裝 Portainer-CE
官方網站有 docker 指令部署的安裝教學,習慣用 docker compose 來管理的同學可以參考以下配置services:
portainer:
container_name: portainer
image: portainer/portainer-ce:2.29.2
ports:
- 8000:8000
- 9000:9000
- 9443:9443
volumes:
- /opt/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: always
[root@docker ~]# docker compose up -d
網址輸入 https://YourDockerIP:9000,初次登入 Portainer 頁面設置管理員密碼,密碼原則需12碼以上,可以先行配置,稍後再於後台 Settings 調整密碼原則
體驗 Portainer
初次登入會先引導到精靈頁面,Get Started 直接開局,右邊 Add Environments 可添加其他的 docker 主機或 Kubernetes 叢集點選直接開始後可以看到安裝 Portainer 的 docker 主機已自動被添加到管理節點,我們點進去看看
Stack:可以理解為 docker compose 的列表
Container:管理該主機節點上啟動的容器
Images:主機節點上存儲的鏡像檔,會標示出未使用的鏡像易於管理清理
Volume:主機節點上掛載的路徑空間,會標示出未使用的 Volumes 易於管理清理
Templates 是 Portainer 很實用的功能,可以想像成是應用程式市集,一鍵點擊即可完成應用程式部署,對於新手玩家來說非常方便
我們隨便選擇一個應用,按下「Deploy the container」來自動部署一個 redmine 容器
沒過多久就部署好囉!
從列表中的 Quick Actions 快捷小圖標裡面可以輕鬆看到任一 container 的 Inspect、logs、資源監控還有超方便的 container console
根據列表上的 publicshed ports 透過區網的瀏覽器測試 redmine 是否成功部署無誤
Volumes 和 Images 是很便於管理的功能,可以輔助管理員輕鬆從列表移除已經沒有使用的暫存 volumes 或多餘的 docker 鏡像檔
回到 Environments 我們嘗試添加其他欲控管的 docker 主機
Portainer 提供了幾種方法來添加被管控的節點,一般多選擇 Agent、Socket的方式,本例選擇的 Agent 是在欲被管控的節點上透過執行下方提示的 docker 指令起一個 portainer agent 容器,以便其被 Portainer 控制
如此這般,便可透過一個入口來管控多台 docker host 或者是多個 Kubernetes Cluster 啦~
0 Comments:
張貼留言