云客户?
免费开始>
在MyJFrog中升级>
云的新功能>







概述

要设置一个Cold Artifact Storage,您必须首先配置一个指定的Artifactory实例作为Cold Artifactory,并连接到一个存储提供者(或者一个廉价的自托管存储或云存储提供商(如Amazon S3 Glacier),然后将Cold Artifactory实例连接到现有的Artifactory实例,也称为Live Artifactory实例。

此过程所需的步骤包括:

  1. 设置Live Artifactory实例
  2. 创建一个Cold Artifactory实例
  3. 在任务控制中添加活的和冷的人工制品实例
  4. 绑定Live Artifactory和Cold Artifactory实例

先决条件

在设置Cold Artifact Storage之前,您需要验证以下先决条件是否到位:

  • 两个Artifactory实例

    两个Artifactory实例- Live和Cold -不必是相同的版本。

  • 企业或企业+许可证
  • 每个Artifactory实例的唯一许可
  • 两个实例的管理员访问权限

  • 被设置为Live Artifactory实例的Artifactory实例必须启用了Mission Control微服务(参见迁移平台部署和许可证桶详情)

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

JFrog订阅级别

自托管

企业X
企业+

页面内容


使用平台UI设置冷工件存储的步骤

步骤1:设置一个活体人工实例

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

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

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

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

  1. 更新人工系统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模板artifactory-ice-test-regular-bucket artifactory-on-ice  ident aws-s3 eu-central-1  
  3. 重新启动Cold Artifactory实例
    完成上述更改后,重新启动Cold Artifactory实例,以使更改生效。

禁用冷工件存储功能

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

自定义基础URL

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

步骤3:添加活的和冷的人工制品实例到任务控制

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

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

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

记住将生成的令牌复制到一个容易找到它的位置。

步骤4:绑定活的和冷的人工制品实例

可从人工7.38.4获得

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

对已设置为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

    这将生成配对令牌。例如:

    {“pairing_token”:“IiwiYWxnIjoiUlMyNTYiLCJraWQiOiJaWkhkQzBzenlqd2d……”}
  3. 接下来,在Live实例上,使用生成的配对令牌执行以下PUT请求。这将在Live实例和Cold实例之间建立信任:

    curl -u admin:password -X PUT -H "Content-Type: application/json" -d '{"pairing_token": " iiwiywxnijoiulmyntyilcjrawqioijakhkqzbzenlqd2d…"“}”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是名称空间。


优化冷工件存储性能

冷工件存储包括几个可以用来配置和优化其性能的属性。

下面所示的参数列表及其对应值仅供参考。强烈建议你这么做更改这些值。

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系统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.