云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

要设置冷工件存储,您必须首先将指定的Artifactory实例配置为冷工件,并将其连接到存储提供程序(可以是冷工件存储)廉价的自托管存储或者云存储提供商,比如Amazon S3 Glacier),然后将Cold Artifactory实例连接到现有的Artifactory实例,也称为Live Artifactory实例。

此过程所需的步骤包括:

  1. 设置一个Live Artifactory实例
  2. 创建一个Cold Artifactory实例
  3. 将Live和Cold Artifactory实例添加到任务控制
  4. 绑定Live Artifactory和Cold Artifactory实例

先决条件

在设置Cold Artifact Storage之前,您需要验证以下先决条件是否已经具备:

每个需要存档的Artifactory集群都需要一个具有专用许可证的Cold Artifact Storage实例。

JFrog订阅级别

自托管

企业X
企业+

页面内容


通过平台界面搭建冷构件库的步骤

步骤1:设置一个Live Artifactory实例

Live Artifactory实例可以是新安装的实例,也可以是必须按以下方式配置的现有实例。

  1. 打开Artifactory系统YAML实例的文件。
  2. 添加shared.jfrogColdStorage.coldInstanceEnabled属性并将其设置为将实例配置为Live实例。

步骤2:创建一个Cold Artifactory实例

在您指定为Cold实例的Artifactory实例上,执行以下步骤:

  1. 更新Artifactory系统YAML文件
    添加shared.jfrogColdStorage.coldInstanceEnabled属性并将其设置为真正的将实例配置为Cold实例。

    shared: jfrogColdStorage: coldInstanceEnabled: true
  2. 配置归档二进制提供程序
    在设置Cold实例时,需要将其连接到二进制存储提供程序。您可以使用以下存储选项之一:

    • 自托管存储:如果使用本地文件系统,请参见配置文件系统二进制提供程序

    • Amazon S3冰川云存储:如果您希望使用Amazon S3 Glacier,请遵循以下步骤:

      1. 开放binarystore.xml配置文件位于$ JFROG_HOME / artifactory / var / etc / artifactory文件夹中。

      2. 指定s3-storage-v3-archive链。
      3. 在链中,定义标准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  
  3. 重新启动Cold Artifactory实例
    在进行上述更改之后,重新启动Cold Artifactory实例以使更改生效。

禁用冷工件存储功能

默认情况下,冷构件存储特性是启用的。如果您希望禁用该功能,请在Artifactory系统属性文件,设置artifactory.retention.enabled作为

自定义基础URL

建议您为这个Artifactory实例配置一个Custom Base URL。当系统在代理后运行时,自定义URL库特别有用。有关更多信息,请参见系统常规设置

步骤3:将Live和Cold Artifactory实例添加到任务控制

在这一步中,您需要将两个实例添加到任务控制。如果在已指定为Live实例的实例中启用了Mission Control,则只需要为Cold实例执行此步骤。

  1. 首先,按照中的步骤为任务控制创建绑定令牌配对标记(可从Artifactory 7.29.7下载)
  2. 接下来,按照中详细的步骤将Cold Artifactory实例添加到任务控制注册平台部署

  3. 如果您上面设置的Live Artifactory实例是有任务控制的JPD启用了它,以同样的方式将Live Artifactory实例添加到任务控制。

请记住将生成的令牌复制到您能够轻松找到它的位置。

步骤4:绑定活实例和冷实例

从Artifactory 7.38.4提供

完成前两个步骤后,你的平台部署将有两个jpd,它们都连接到任务控制微服务:Live实例和Cold实例。下一步是将两个实例相互绑定,以便Cold Artifactory实例将信任并接收来自Live Artifactory实例的请求。您只能将一个Live实例绑定到一个Cold实例,而t他是一个单向信任

在已设置为Live实例的Artifactory实例上执行以下步骤。

  1. 政府模块,点击平台部署|绑定
  2. 单击冷藏选项卡。在右上角,单击+添加绑定,并选择冷藏从下拉列表中。

    这将显示“创建绑定”窗口。
  3. 从Source JPD下拉菜单中,选择Live实例。
  4. 从Target JPD下拉菜单中,选择Cold实例。
  5. 点击应用
    Summary显示您选择的目标和源。

  6. 点击创建来创建新的绑定。
    显示绑定结果。


使用api设置冷工件存储

绑定这两个实例的首选方法是使用上面描述的流。但是,您也可以使用下面描述的API步骤绑定它们。

  1. 首先生成配对令牌来连接Live和Cold实例。
  2. 在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……”}
  3. 接下来,在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实例之间的绑定。

  1. 若要从Administration模块撤销Live和Cold实例之间的绑定,请单击平台部署|绑定然后点击冷藏选项卡。
  2. 选择要删除的绑定的复选框,然后单击删除绑定右侧的按钮。
  3. 如果要删除多个绑定,请选中所有复选框,然后在窗口底部选择删除
    这将显示一条确认消息,询问您是否确定希望删除绑定。
  4. 点击好吧来确认。
    您的操作将被应用,现在将显示解绑定的结果。

重建信任

Live实例和Cold实例之间的每个连接都绑定到Cold实例中的一个名称空间,该名称空间是在配对过程中生成的。命名空间是唯一的,并且为特定的命名空间建立信任。

当您需要在Live和Cold实例之间重新建立信任时(例如,在令牌被错误撤销之后),就需要这个名称空间。在这种情况下:

  1. 检索名称空间
  2. 通过在POST请求中提供名称空间作为参数,重新生成配对令牌。

例子curl -u admin:password -X POST https:///artifactory/api/v1/service_trust/pairing/artifactory-cold/gbbxmcuj

地点: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。属性可以配置此值retention.warm.restore.artifact.limit财产。在恢复过程中,如果工件的数量超过最大限制,恢复过程将在完成30k工件的恢复后终止,并记录终止的原因。

默认值:30 k
  • 没有标签
版权所有©2023 JFrog Ltd。