搭建私有helm仓库及图形界面
本篇主要介绍私有 helm 仓库 Chartmuseum 及图形界面 Monocular UI /kubeapps 的搭建
helm chart 能够很好的封装和管理我们的 kubernetes 应用,可以实现中间件、数据库、公共组件等快速发布。
什么场景下我们需要构建一个私有的helm仓库呢
- 首先我们日常发布中肯定是经常使用到了helm
- 有较多自定义的或者调整过的helm模板,或者有多套k8s/ocp 集群要同时基于 helm 进行发布与管理
- 如果想要要更好的管理 charts 历史版本,可以使用下面说的 github page 或者 gitlab page
Helm chart对仓库的要求并不高,需要你对外提供yaml文件和tar文件的web服务即可。helm2 原本是带了本地仓库功能,helm3 移除了这部分,将他变成了一个纯粹的应用管理工具。
像 harbor镜像仓库,JFrog Artifactory(制品仓库,镜像仓库) 都包含了 helm 商店的功能,如果同时对镜像仓库和制品管理有需求,可以选择上面两款产品,都提供免费社区版。
如果不需要上面两者的镜像仓库功能,可以使用在线的github 或 gitlab
https://www.bookstack.cn/read/kubernetes-handbook-201910/practice-create-private-charts-repo.md
也可以是本地私有化部署的 gitlab
https://my.oschina.net/doctorlzr1988/blog/3044964
又或者是helm 开源得工具 chartmuseum
https://github.com/helm/chartmuseum
Chartmuseum 除了给我们提供一个类似于web服务器的功能之外,还提供了其他有用的功能,便于日常我们私有仓库的管理。
- 根据chart文件自动生成index.yaml(无须使用helm repo index手动生成)
- helm push的插件,可以在helm命令之上实现将chart文件推送到chartmuseum上
- 相应的tls配置,Basic认证,JWT认证(Bearer token认证)
- 提供了Restful的api(可以使用curl命令操作)和可以使用的cli命令行工具
- 提供了各种后端存储的支持(Amazon s3, Google Cloud Storage, 阿里、百度、腾讯,开源对象存储等)
- 提供了Prometheus的集成&#