使用kubebapps 管理helm 仓库已经应用使用Monocular专门提供helm 仓库查找
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