配置Helm客户端
下载Helm客户端版本2.9.0或以上进行身份验证访问
要使用Artifactory Helm图表存储库的所有功能,包括Helm图表的解析,您必须使用支持对Artifactory的基本身份验证访问的Helm客户端版本2.9.0或更高版本。
在您可以使用Helm客户端从Artifactory解析Helm图表之前,您需要通过添加用于解析的虚拟Helm图表存储库,将其配置为使用Artifactory用户和密码进行身份验证访问,如下所示:
helm repo addhttp:// : /artifactory/ ——username < username >——password < password > helm repo update
例如:
Helm repo add Helm -virtual http://10.1.16.114:32775/artifactory/helm-virtual——username admin——password密码Helm repo更新
使用加密密码
我们建议使用加密密码,而不是明文密码。详情请参阅统一安全密码.
使用JFrog头盔客户端
JFrog头盔客户端
的JFrog头盔客户端在Helm客户端支持基本身份验证(在版本2.9.0之前)之前,通过身份验证访问Artifactory是必要的。
如果您正在使用JFrog头盔客户端,您需要通过添加虚拟Helm图表存储库来配置它,以便使用您的Artifactory用户和密码进行身份验证访问,如下所示:
helm repo addhttp:// : /artifactory/ helm repo update
例如:
Helm repo add Helm -virtual http://10.1.16.114:32775/artifactory/helm-virtual admin password Helm repo update
配置
局部存储库
若要启用Helm图表元数据的计算,请从政府模块,选择存储库|存储库|当地的并设置舵成为包类型当您创建本地存储库时。
远程存储库
您可以创建Helm远程存储库来代理和缓存远程存储库或其他Artifactory实例。
为了让Artifactory正确地缓存Helm图表,只能通过虚拟存储库解析图表。
自动重写外部依赖项
Helm客户端请求的Helm图表经常使用定义中的外部依赖项index.yaml
文件。这些依赖关系可能反过来需要其他依赖关系。因此,在下载图表时,您可能无法完全看到原始图表所需的全部依赖项集(无论是直接的还是传递的)。因此,您可能会从未知的外部资源下载恶意依赖项。2022世界杯阿根廷预选赛赛程
为了管理这种风险,并维护通过Artifactory使用外部图表的最佳实践,您可以指定一个“安全的”Allow List,从中可以下载依赖项,缓存在Artifactory中,并配置为重写依赖项,以便Helm客户端通过远程存储库访问依赖项,如下所示:
- 选择启用依赖项重写复选框在Helm Chart远程存储库高级部分。
- 指定外部资源的Allow List模式,从中可以下载依赖项。2022世界杯阿根廷预选赛赛程
下面的田野外部依赖重写连接到自动重写Helm chart所需的外部依赖项。
启用依赖项重写 |
选中后,将重写外部依赖项。 |
模式允许列表 |
ant风格路径表达式的允许列表,指定可以从哪里下载外部依赖项。默认情况下,设置为 例如,如果您将模式允许列表限制为https://github.com/ * *,外部依赖项将缓存在“helm”远程存储库中,并且仅以URL开头的图表https://github.com/将被允许缓存。 |
例如,如果您将模式允许列表限制为“github.com,外部依赖项将缓存在“helm”远程存储库中,并且仅从图表中https://github.com/prometheus-community helm-charts /
允许被缓存。
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的Helm图表和远程代理的Helm图表存储库。
若要定义虚拟Helm图表存储库,请创建虚拟存储库,设置包类型是舵,并选择底层本地和远程Helm存储库,以包括在基本设置选项卡。
这个存储库将在Helm客户端中配置。
Helm虚拟存储库的命名空间支持
从Artifactory 7.24.1 (SaaS版本)开始,您可以根据以下语法为Helm虚拟存储库中的本地和远程存储库分配名称空间,从而显式地声明特定的聚合本地或远程存储库,以便从虚拟存储库中获取。
默认情况下,该特性是禁用的,但是可以在创建或更新虚拟Helm存储库时进行设置。
/ helm-virtual / < local_repository_name > / chart.tgz
使用url列表设置多个外部依赖项
为了支持从多个内部Artifactory url下载文件,您可以创建一个由存储库信任的url列表。
默认情况下,该特性是禁用的,但是可以分别为每个聚合的远程存储库设置。
下面的示例演示如何将以下配置添加为外部依赖项。
https://example.com/example-community/helm-charts/ * *
的所有外部urlindex.yaml
以以下模式开始的文件。
https://example.com/example-community/helm-charts/
将被替换为以下语法,
http://rt-host/artifactory/api/helm/helm-virtual/_external/https/example.com/exaple-community/helm-charts/
解舵图
JFrog Artifactory支持从本地和虚拟Helm图表库解决Helm图表。要从远程Helm图表存储库解析Helm图表,需要将它们聚合到虚拟Helm图表存储库中。
要通过Artifactory解析Helm chart,使用以下命令:
helm install/ . sh
例如:
头盔安装头盔虚拟/artifactory
展开舵图
部署Helm图表可以使用cURL, Wget, JFrog CLI或中描述的任何方法部署的工件.
设置默认部署存储库
要将Helm图表部署到虚拟Helm存储库,请确保已设置默认部署存储库.
重新建立舵图存储库
您可以通过UI或REST API触发本地Helm图表存储库的异步重新索引。
通过用户界面,在树浏览器中选择你的Helm图表存储库并选择重新计算指数,如下所示(需要Admin权限)。
要通过REST API重新索引Helm图表存储库,请参阅计算舵图指数.
使用上述REST API命令或UI将重新索引index.yaml
从头开始。Y你可能会得到一部分index.yaml
如果在计算进行时试图从存储库解析包。因此,Reindex只应在index.yaml
corrrupted。