当前位置: 首页 > news >正文

Harbor系列之5:复制管理

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. 官方文档

http://www.lryc.cn/news/414358.html

相关文章:

  • V.PS德国VPS详细测评
  • 【Vue3】组件通信之自定义事件
  • [CTF]-PWN:ORW题型综合解析
  • VSCode中yarn的安装和使用
  • Java后端面试复习7.23
  • Arduino PID库 (2) –微分导致的过冲
  • 基于强化学习算法玩CartPole游戏
  • uniapp0基础编写安卓原生插件和调用第三方jar包(Ch34的jar包)和如何解决android 如何Application初始化
  • 使用Leaflet进行船舶航行警告区域绘制实战
  • 用Ollama 和 Open WebUI本地部署Llama 3.1 8B
  • 计算机毕业设计选题推荐-学生作业管理系统-Java/Python项目实战
  • RIP实验
  • 手把手教你如何在宝塔上添加可道云登录页面的ICP备案信息,别跟权威开玩笑。
  • 基于JSP技术的大学生校园兼职系统
  • VSCode在windows系统下的配置简单版
  • C++初学(9)
  • ardupilot开发 --- 网络技术综述 篇
  • 一文详解大模型蒸馏工具TextBrewer
  • Go语言加Vue3零基础入门全栈班10 Go语言+gRPC用户微服务项目实战 2024年07月31日 课程笔记
  • ChatGPT能代替网络作家吗?
  • Http自定义Header导致的跨域问题
  • python 中 file.read(), file.readline()和file.readlines()区别和用法
  • python 学习: np.pad
  • 等保2.0 | 人大金仓数据库测评
  • AIGC赋能智慧农业:用AI技术绘就作物生长新蓝图
  • yolov8蒸馏(附代码-免费)
  • Flink-StarRocks详解:第五部分查询数据湖(第55天)
  • 【MySQL】常用数据类型
  • 创建第一个rust tauri项目
  • 【课程总结】day19(中):Transformer架构及注意力机制了解