Harbor系列之10:复制管理

Harbor的镜像复制功能

Harbor 提供镜像复制功能,允许用户以推送和拉取方式在不同 Harbor 仓库之间,以及 Harbor 与非 Harbor 仓库间(如Alibaba ACR、Quay、Aws ECR、Azu热ACR、Docker Registry、Docker Hub等)复制 image、chart 等资源。

以 Harbor 系统管理员身份设置好复制规则后,当满足触发条件时,所有与规则匹配的资源都会被复制到目标仓库中。每个被复制的资源都会启动一个复制任务。如果目标仓库中不存在命名空间,则会自动创建一个新的命名空间。

借助该功能,既可以用作harbor仓库的备份,也可以用于测试环境和生产环境之间做镜像、artifact等制品的同步。作为一种可以考虑的高可用部署的方案,可以部署两套harbor,互相配置镜像复制同步。

1. 操作步骤

下面以harbor复制镜像到harbor为例,这里准备两套harbor环境。

1.1 目的端harbor操作

在目的端harbor主要创建一个机器人账户,添加权限用于镜像拷贝等。

  1. 登录目的端harbor,进入系统管理-机器人账户,添加账户。

设置名称和过期时间:

sys-robot-account

  1. 设置系统权限

本文仅作测试场景,这里为了省事选择全部权限:

set-privilege

  1. 选择项目权限

project-privilege

  1. 记录账户信息

robot-token

注意

这里的token仅显示一次,建议复制记录或者导出到文件中。当然也可以后期手动更新token,但是同时也需要在源端执行更新操作。

1.2 源端harbor操作

  1. 登录资源所在的 Harbor Web界面,即复制镜像的源仓库。

  2. 创建目标仓库。进入系统管理-仓库管理,新建目标,此处填写目的端harbor的信息。
    harbor-create-goal

说明:

  1. 如果填写的目标URL是域名,确保源端harbor机器能够解析域名。
  2. 由于远端仓库使用的是自签证书或者非信任证书,这里取消勾选验证远程证书。
  1. 创建复制规则。进入系统管理-复制管理,新建规则,配置复制模式、源资源过滤器、目的仓库、触发模式等。

copy-rule

复制模式:支持主动push,或者主动拉取两种。

源资源过滤器:

  • 支持全部项目或者部分匹配;
  • 支持根据tag、标签进行过滤;
  • 支持根据资源类型(image、artifact)进行过滤。

触发模式:支持手动、定时或者事件驱动。

带宽:支持拷贝限速,默认不限。

其他:可以选择是否覆盖,启用分块复制。

更详细的说明请参考官方文档:

https://goharbor.io/docs/2.11.0/administration/configuring-replication/create-replication-rules/

  1. 启动复制任务

本文创建的是一个手动触发的规则,选中复制规则,执行复制任务。

manual-copy-task

在目标harbor仓库查看,自动创建了与源仓库相同的项目和制品、镜像等。且复制后的镜像拉取命令替换了repository前缀,是适用于当前仓库的pull命令格式。

2. 相关资料

  1. Configuring Replication

  2. 官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值