前言
Helm是Kubernetes的包管理器。Helm使用一种称为charts的打包格式。自1.6.0版本以来,Harbor是一个复合的云原生注册表,支持容器镜像管理和Helm Chart管理。对Harbor中Helm charts的访问由基于角色的访问控制(RBAC)控制,并受项目限制。
有两个地方可以管理Helm Charts。
-
ChartMuseum,由Harbor自1.6.0版起提供
-
兼容OCI的注册表,由Harbor从2.0.0版开始提供
这意味着您可以通过同一组项目和存储库管理Helm Charts以及容器镜像。
harbor 版本更迭
Harbor在v1.6版本开始支持Helm Chart仓库功能,这样就可以利用 harbor 同时管理镜像和 helm charts 了,无需另外部署一套Helm Chart系统。在harbor中,chart仓库由chartmuseum以插件的方式提供,可以自己选择安装或者不安装。
ChartMuseum:提供了API管理非OCI规范的Helm Chart。在安装了ChartMuseum组件后,当用户使用“helm”命令向Harbor推送或拉取Chart时,Harbor的Core组件会首先收到请求,在校验后将请求转发给ChartMuseum进行Chart文件的读写。
随着兼容OCI规范的Helm Chart在社区上被更广泛地接受,Helm Chart能以Artifact的形式在Harbor中存储和管理,不再依赖ChartMuseum,因此Harbor会在后续版本中移除对ChartMuseum的支持。
虽然被废弃,但是并不意味着不能用Harbor存储chart了,而是用 OCI chart替代。
- 从v2.6.0 开始弃用Chartmuseum,并在v2.8.0中开始删除。
在Harbor Interface中使用ChartMuseum管理Helm Chart
Charts列表
登录Harbor界面,点击Projects,选择项目进入项目详情页面。单击Helm Charts选项卡可查看现有Helm Charts,其中包含以下信息:
- Helm Chart名称
- Charts的状态:Active或Deprecated
- Charts版本数
- 创建Chart的时间
您可以单击右上角的图标在卡片视图和列表视图之间切换。
上传新Charts
- 单击UPLOAD打开Charts上传对话框。
- 选择要从文件系统上载的Charts。
- 单击UPLOAD将其上载到Charts存储库服务器。
如果Charts是签名的,您可以从文件系统中选择相应的出处文件,然后单击UPLOAD将它们同时上传。
如果Charts上传成功,则会显示在Charts列表中。