掌握你的舵手图仓库在Artifactory

根据我们的Helm Chart存储库支持的初始版本在Artifactory几周前,是时候进入快车道,让你的Helm存储库启动并运行了。简单概括一下,Helm是Kubernetes的包管理器,可以帮助您管理Kubernetes应用程序使用执掌图表.
Artifactory现在本地支持执掌存储库,让您完全控制Kubernetes的部署过程。它支持代理远程赫尔姆仓库,部署执掌图表到本地存储库,当然,还可以使用虚拟存储库来聚合所有其他Helm Chart存储库,这样您就可以通过单一端点访问它们。
戴上你的头盔,享受旅程吧!
为了最大限度地利用Artifactory中的Helm Chart存储库,我们建议最好地应用这些存储库执掌库实践:
虚拟存储库是可行的
Artifactory支持创建虚拟舵存储库对于Kubernetes,它可以包含本地和远程存储库。这允许您从为虚拟存储库定义的单一URL访问本地托管的Helm图表和代理远程Helm图表存储库。
当使用虚拟存储库时,您将获得以下结果:
- 执掌图分辨率
Artifactory只支持从虚拟存储库解析Helm图表。来解决执掌图表从本地或远程Helm图表存储库,您需要将它们聚合到虚拟Helm图表存储库中。 - 控制领域
工件搜索和解析的受控域。 - 轻松访问多个存储库
一旦您的所有本地和远程Helm图表存储库被一个虚拟存储库聚合,您所有的Helm图表都可以通过一个URL访问。 - 安全的私有存储库
使用虚拟存储库增加了Artifactory中已有的安全层,可以根据Kubernetes中的项目或开发团队对Helm图表进行细粒度的访问控制。
要在Artifactory中定义一个虚拟Helm Chart存储库:
- 创建一个虚拟存储库.
- 设置包类型来舵.
- 选择要包含在中的底层本地和远程Helm存储库基本设置选项卡。
中的存储库进行配置JFrog执掌客户.
分离Stable和Incubator存储库
虽然我们建议使用单个虚拟存储库,但我们也建议在中找到的稳定图表之间保持明确的分离稳定公众舵图库,以及它们的预发布对应版本孵化器执掌图表存储库。这两个应该聚合在两个不同的虚拟存储库中,以便在需要正式发布版本时使用一个,而在需要预发布版本时使用另一个。这将确保您的构建得到您想要的图表的正确版本,并避免在Kubernetes中的混淆。
在图表中使用SemVer v2版本控制
JFrog建议使用SemVer,因为它将有助于后期的版本控制、版本范围需求,以及从index.yaml获得正确的排序顺序和解析。
让你的头盔用户了解情况
执掌包搜索在Artifactory是定制的,允许用户搜索赫尔姆仓库s由“应用程序版本”not only不仅;y“版本”,即图表版本。App Version是一个有用的信息,因为它可以让用户知道他们正在使用的应用是什么版本,因为图表版本可能不同。将参数添加到Chart.yaml文件。

重新计算的指数。Yaml文件从头开始
Artifactory支持重新计算本地index.yaml如果你怀疑你的index.yaml可能是腐败。
重新计算局部index.yaml文件:
- 在树浏览器中选择您的Helm Chart存储库。
- 选择重新计算指数从右键菜单。

一旦选中,就会异步计算索引。
控制虚拟回购的元数据检索缓存周期
虚拟存储库合并index.yaml所有存储库的文件聚合成一个index.yaml文件。但是,对于一个聚合本地或远程存储库的每个更改,重新计算聚合索引可能需要大量的资源。
为了避免为远程存储库中的每次更改重新计算聚合索引,它被缓存,并且只根据虚拟存储库的元数据检索缓存周期设置重新计算。不过,默认情况下,这个时间设置为平均10分钟,这是一个合理的超时时间;如果发现任何聚合存储库频繁更改,可以降低该值以更频繁地重新计算索引。

在任何时候,你也可以通过清空缓存来手动触发索引的重新计算——我们称之为“Zapping”缓存,可以通过以下方式调用:
清除Artifactory中的一个缓存。
- 从工件模块树浏览器,选择要zap的虚拟存储库。
- 点击Zap缓存在右键菜单或选择行动从下拉菜单。

JFrog CLI帮助您部署您的Helm Charts
您可以使用JFrog CLI发布和上传你的Helm Charts,因为Helm客户端目前不支持部署Helm Charts。
例如,上传所有的*。TGZ文件到本地使用JFrog CLI上传命令:
Jfrog rt u "*。tgz”helm-local
要了解创建Helm Charts时的更多通用最佳实践,请参见图表最佳实践指南.