通过平台界面搭建冷构件库的步骤
步骤1:设置一个Live Artifactory实例
Live Artifactory实例可以是新安装的实例,也可以是必须按以下方式配置的现有实例。
- 打开Artifactory系统YAML实例的文件。
添加
shared.jfrogColdStorage.coldInstanceEnabled
属性并将其设置为假
将实例配置为Live实例。
步骤2:创建一个Cold Artifactory实例
在您指定为Cold实例的Artifactory实例上,执行以下步骤:
更新Artifactory系统YAML文件:
添加shared.jfrogColdStorage.coldInstanceEnabled
属性并将其设置为真正的
将实例配置为Cold实例。shared: jfrogColdStorage: coldInstanceEnabled: true
配置归档二进制提供程序:
在设置Cold实例时,需要将其连接到二进制存储提供程序。您可以使用以下存储选项之一:自托管存储:如果使用本地文件系统,请参见配置文件系统二进制提供程序.
Amazon S3冰川云存储:如果您希望使用Amazon S3 Glacier,请遵循以下步骤:
开放的
binarystore.xml
配置文件位于$ JFROG_HOME / artifactory / var / etc / artifactory
文件夹中。- 指定
s3-storage-v3-archive
链。 在链中,定义标准Amazon S3 Binary Provider模板,如本节所述Amazon S3官方SDK模板并根据需要配置参数。
例子
s3-storage-v3-archive模板//专用冷库参数 //基于s3-storage-v3 template artifactory-ice-test- rule -bucket artifactory-on-ice creds ident uds -s3 <区域>eu-central-1
重新启动Cold Artifactory实例:
在进行上述更改之后,重新启动Cold Artifactory实例以使更改生效。
禁用冷工件存储功能
默认情况下,冷构件存储特性是启用的。如果您希望禁用该功能,请在Artifactory系统属性文件,设置artifactory.retention.enabled
作为假
.
自定义基础URL
建议您为这个Artifactory实例配置一个Custom Base URL。当系统在代理后运行时,自定义URL库特别有用。有关更多信息,请参见系统常规设置.
步骤3:将Live和Cold Artifactory实例添加到任务控制
在这一步中,您需要将两个实例添加到任务控制。如果在已指定为Live实例的实例中启用了Mission Control,则只需要为Cold实例执行此步骤。
- 首先,按照中的步骤为任务控制创建绑定令牌配对标记(可从Artifactory 7.29.7下载).
接下来,按照中详细的步骤将Cold Artifactory实例添加到任务控制注册平台部署.
- 如果您上面设置的Live Artifactory实例是不有任务控制的JPD启用了它,以同样的方式将Live Artifactory实例添加到任务控制。
请记住将生成的令牌复制到您能够轻松找到它的位置。
步骤4:绑定活实例和冷实例
从Artifactory 7.38.4提供
完成前两个步骤后,你的平台部署将有两个jpd,它们都连接到任务控制微服务:Live实例和Cold实例。下一步是将两个实例相互绑定,以便Cold Artifactory实例将信任并接收来自Live Artifactory实例的请求。您只能将一个Live实例绑定到一个Cold实例,而t他是一个单向信任.
在已设置为Live实例的Artifactory实例上执行以下步骤。
- 从政府模块,点击平台部署|绑定.
- 单击冷藏选项卡。在右上角,单击+添加绑定,并选择冷藏从下拉列表中。
这将显示“创建绑定”窗口。 - 从Source JPD下拉菜单中,选择Live实例。
- 从Target JPD下拉菜单中,选择Cold实例。
- 点击应用.
Summary显示您选择的目标和源。 点击创建来创建新的绑定。
显示绑定结果。
使用api设置冷工件存储
绑定这两个实例的首选方法是使用上面描述的流。但是,您也可以使用下面描述的API步骤绑定它们。
- 首先生成配对令牌来连接Live和Cold实例。
在Cold实例上,执行以下POST请求。
curl -u admin:password -X POST https://
/artifactory/api/v1/service_trust/pairing/artifactory-cold . curl -u admin:password -X POST https:// /artifactory/api/v1/service_trust/pairing/artifactory-cold . curl 这将生成配对令牌。例如:
{“pairing_token”:“IiwiYWxnIjoiUlMyNTYiLCJraWQiOiJaWkhkQzBzenlqd2d……”}
接下来,在Live实例上,使用生成的配对令牌执行以下PUT请求。这将在Live实例和Cold实例之间建立信任:
curl -u admin:password -X PUT -H "Content-Type: application/json" -d '{"pairing_token": "IiwiYWxnIjoiUlMyNTYiLCJraWQiOiJaWkhkQzBzenlqd2d…“}”https:// < live_instance_ip_address > / artifactory / api / v1 / service_trust / / artifactory-cold配对
如果两个实例配对成功,请求返回以下状态:
成功建立了以服务人为本的信任
管理冷存储绑定
通过平台UI撤销绑定
撤消绑定的重要注意事项
在Cold实例不再可用的情况下,您不能删除Live实例和Cold实例之间的绑定。
- 若要从Administration模块撤销Live和Cold实例之间的绑定,请单击平台部署|绑定然后点击冷藏选项卡。
- 选择要删除的绑定的复选框,然后单击删除绑定右侧的按钮。
- 如果要删除多个绑定,请选中所有复选框,然后在窗口底部选择删除.
这将显示一条确认消息,询问您是否确定希望删除绑定。 - 点击好吧来确认。
您的操作将被应用,现在将显示解绑定的结果。
重建信任
Live实例和Cold实例之间的每个连接都绑定到Cold实例中的一个名称空间,该名称空间是在配对过程中生成的。命名空间是唯一的,并且为特定的命名空间建立信任。
当您需要在Live和Cold实例之间重新建立信任时(例如,在令牌被错误撤销之后),就需要这个名称空间。在这种情况下:
- 检索名称空间.
- 通过在POST请求中提供名称空间作为参数,重新生成配对令牌。
例子:curl -u admin:password -X POST https://
地点:gbbxmcuj
是命名空间。
优化冷神器存储性能
Cold Artifact Storage包含几个属性,可用于配置和优化其性能。
下图所示的参数列表及其对应值仅供参考。强烈建议你这样做不更改这些值。
Live Artifactory属性
属性中可以配置以下属性活Artifactory美元JFROG_HOME / etc / artifactory / artifactory.system.properties
文件。
参数 | 描述 | 范围/违约 |
---|---|---|
基本性质 | ||
artifactory.retention.warm.archive.concurrency.maxLevel |
每个策略用于存档项的线程数。 |
默认值:5 |
artifactory.retention.warm.restore.concurrency.maxLevel |
用于恢复项的线程数。 |
默认值:5 |
高级属性 | ||
artifactory.retention.cold.http.client.max.total.connections |
允许将构件从Live实例部署到Cold实例的http连接数。 |
默认值:50 |
artifactory.retention.cold.http.client.socketTimeout |
http连接的最大套接字超时。 |
默认值:15000 |
artifactory.retention.cold.http.client.max.connections.per.route |
允许将构件从Live实例部署到Cold实例的每个路由的http对等体数量。 |
默认值:50 |
artifactory.retention.warm.restore.pull.items.intervalSecs |
设置Live实例尝试从Cold实例拉取恢复项的频率。 |
默认值:120 推荐:1800 |
artifactory.retention.warm.restore.batchSize |
设置将有多少还原项从Cold实例拉到Live实例。 |
默认值:1000 |
artifactory.retention.warm.restore.bandwidth.maxSizeMb |
大约所有恢复操作允许的最大带宽。 |
默认值:0 |
artifactory.retention.warm.restore.error.threshold.percent |
停止恢复操作的错误阈值。 |
默认值:10 |
artifactory.retention.warm.archive.batchSize |
设置在存档策略执行期间从数据库提取多少项。 |
默认值:10000 |
artifactory.retention.warm.archive.bandwidth.maxSizeMb |
单个归档策略执行允许的最大带宽。 |
默认值:0 |
artifactory.retention.warm.archive.error.threshold.percent |
如果存档过程中出现10%的错误,则停止执行。 |
默认值:10 |
冷Artifactory属性
属性中可以配置以下属性冷Artifactory系统YAML.
参数 | 描述 | 范围/违约 |
---|---|---|
高级属性 | ||
artifactory.retention.cold.restore.render.tree.concurrency.level |
处理时将使用的线程数的恢复请求。 |
默认值:5 |
artifactory.retention.cold.restore.status.mapper.intervalSecs |
默认情况下,在Cold Artifactory实例上,检查每个存档工件的恢复状态的cron作业速率为120秒(2分钟)。这可以重新配置以优化成本。 |
默认值:120 推荐:10800 |
artifactory.retention.cold.restore.cleanup.intervalSecs |
清理任务的间隔时间。 |
默认值:300 |
属性中可以配置以下属性冷Artifactory的美元JFROG_HOME / etc / artifactory / artifactory.system.properties
文件。
参数 | 描述 | 范围/违约 |
---|---|---|
retention.warm.restore.artifact.limit |
在一次运行期间可以恢复的工件的最大数量是30k。属性可以配置此值 |
默认值:30 k |