Monocular 從1.0 開始專注於helm 的UI展示,對於部署以及維護已經去掉了,官方也提供了相關的說明以及
推薦了幾個可選的部署工具,從使用以及架構上來說kubeapps 就是Monocular + helm 操作的集合,比Monocular
早期版本有好多提升
- 倉庫的同步&&部署已經分離了,具有更好的維護性
- 充分利用了mongo的特性,charts的信息存儲在mongo中
- 部署提供了一個tiller-proxy的組件,使用上更加安全
- 倉庫的同步充分利用了k8s 的cronjob
- 充分利用了rbac,提供部署的安全性
- 管理界面支持upgrade了,這個很方便,早期的Monocular 是沒有的
- 部署的時候我們可以直接修改配置了,更加自由便捷
部署
我使用了harbor 進行helm charts 管理,下載helm 包push 私服,方便管理(還有牆的問題)
- 下載charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm fetch bitnami/kubeapps
- 進行簡單修改
為了方便支持ingress 訪問,可以部署的時候指定變量信息進行修改
- push harbor 私服
helm push --username=username --password=password kubbeapps jira
- 部署
helm install jira/kubeapps
部署其他應用&&試用
- 登陸界面
需要一個api token ,可以創建,或者直接試用dashboard 的api token,一般大家都有部署dashboard
- 管理界面
- 部署信息
- repo 添加界面
- 選擇catalog 部署
說明
使用kubeapps 集合harbor 進行helm 倉庫的管理,從安全上、易用性上、可管理性上,都是不錯的選擇,可以快速的提高應用的
發布以及部署
kubeapps 的幾個組件
- chartsvc
提供api - chart-repo
repo 管理,包含同步,以及元數據信息寫入數據庫 - tiller-proxy
和tiller 進行通信,實現部署以及更新 - dashboard
UI 調用后端api實現可視化操作
參考資料
https://github.com/helm/monocular
https://github.com/kubeapps/kubeapps