Harbor 备份与迁移的方法

一、安装

有关 harbor 安装的教程查看这篇文章:https://elowen.blog.csdn.net/article/details/157977116?spm=1011.2415.3001.5331

有关 harbor 的讲解看这篇文章:https://elowen.blog.csdn.net/article/details/157977346?spm=1011.2415.3001.5331

二、备份与迁移

首先我们要知道,harbor 备份和迁移其实是一个事

核心步骤:在目标端(备份地址or迁移地址)再下载安装一个harbor,因为harbor与harbor之间是可以进行镜像之间的 push or pull 的。

1.安装

有关 harbor 安装的教程查看这篇文章:https://elowen.blog.csdn.net/article/details/157977116?spm=1011.2415.3001.5331

2. 添加目的端

首先选择 仓库管理

点击 新建目标

开始输入对应的信息

1. 提供者(Provider)
  • 含义:指定远程镜像仓库的类型。
  • 作用 :当前选择的是 Harbor,表示目标是另一个 Harbor 实例;也可以选择其他类型,如 Docker Hub、AWS ECR、GCR 等,不同提供者的配置项会略有差异。
2. 目标名(Name)
  • 含义 :为这个远程目标起一个易识别的名称,例如 Harbor-ProductionBackup-Harbor-192.168.1.1
  • 作用:在后续创建复制规则时,通过这个名称快速选择目标,方便管理多个复制目标。
3. 描述(Description)
  • 含义:可选的备注信息,用于说明这个目标的用途,例如 "用于生产环境镜像备份" 或 "测试环境同步目标"。
  • 作用:帮助团队成员理解该目标的业务意义,避免配置混淆。
4. 目标 URL(Endpoint URL)
  • 含义 :远程 Harbor 实例的访问地址,必须以 http://https:// 开头,例如 https://harbor.example.comhttp://192.168.1.1:8080
  • 作用:指定当前 Harbor 向哪个地址推送 / 拉取镜像,是复制任务的核心地址。
  • 注意 :如果目标 Harbor 使用 HTTPS,需确保地址协议为 https://,并注意端口号(默认 443,非默认需显式指定)。
5. 访问 ID(Access ID)
  • 含义 :远程 Harbor 实例的登录账号,通常是具有镜像推送 / 拉取权限的用户名(如 admin 或专用服务账号)。
  • 作用:用于身份认证,让当前 Harbor 获得访问目标仓库的权限。
6. 访问密码(Access Secret)
  • 含义:对应 "访问 ID" 的密码或密钥。
  • 作用:与访问 ID 配合完成认证,确保只有合法的 Harbor 实例才能发起复制任务。
7. 验证远程证书(Verify Remote Cert)
  • 含义 :当目标 URL 为 https:// 时,是否验证远程 Harbor 的 SSL 证书合法性。
  • 作用
    • 勾选(默认):验证证书是否由可信 CA 颁发、未过期、与域名匹配,提升安全性;
    • 取消勾选:跳过证书验证,适用于目标 Harbor 使用自签名证书的场景(避免因证书不被信任导致连接失败)。
  • 注意:生产环境建议保持勾选,仅在测试或内部自签名场景下取消。
8. 测试连接(Test Connection)
  • 作用:点击后,Harbor 会使用当前填写的 URL、ID、密码尝试连接远程目标,验证配置是否正确、网络是否可达、认证是否成功。
  • 价值:提前发现配置错误(如 URL 写错、密码错误),避免保存后才发现问题。

当你填写完成后,点击测试连接,出现绿条表示成功

接下来就可以去操作了。

3. 复制管理(备份与迁移)

接下来点击 复制管理

点击 新建规则

3.1 push 从远程服务器的harbor中拉取

首先我们看到第三行,在复制模式中,我们选择 Push-based(意思就是拉取镜像到我的这个harbor中)

1. 基础信息
  • 名称:必填,为这条复制规则设置一个易识别的名称,例如 "同步生产镜像到备份仓库"。
  • 描述:可选,用于备注规则的用途、范围或注意事项,方便团队成员理解。

2. 复制模式
  • Push-based(推送模式):本地 Harbor 主动将镜像推送到远程目标仓库。适用于 "本地是源,远程是备份 / 分发节点" 的场景。
  • Pull-based(拉取模式):远程目标仓库主动从本地 Harbor 拉取镜像。适用于 "远程是主节点,本地是源" 的场景。

3. 资源源过滤器

用于精准筛选需要复制的镜像资源,避免不必要的同步:

  • 名称 :按镜像名称过滤,支持通配符(如 myapp/**)。
  • Tag :按镜像标签过滤,可选择 "匹配" 或 "排除" 模式。例如,只复制带 prod 标签的镜像,或排除带 test 标签的镜像。
  • 标签:按 Harbor 自定义标签过滤,用于更细粒度的业务分组筛选。
  • 资源:限定复制的资源类型,可选 "全部""镜像""Helm Chart" 等。

4. 目标配置
  • 目标仓库:选择之前创建的远程复制目标(即上一步 "新建目标" 中配置的仓库)。
  • 名称空间:指定镜像在远程目标中存放的项目 / 命名空间。留空则默认与源一致。
  • 仓库扁平化:控制镜像在远程仓库中的路径结构。"替换级" 表示按层级替换,避免目录嵌套过深,使远程仓库结构更清晰。(正常选择:无替换)

5. 触发模式

定义复制任务的执行时机:

  • 手动:仅在用户手动触发时执行复制。
  • 定时 :按 cron 表达式定期执行(如 0 0 2 * * * 表示每天凌晨 2 点)。
  • 事件驱动:当源镜像有新推送或标签更新时,自动触发复制,实现实时同步。

6. 带宽与选项
  • 带宽 :限制复制任务的带宽占用,单位为 Kbps。设置为 -1 表示不限制带宽,充分利用网络资源。
  • 覆盖:勾选后,如果远程目标中已存在同名同标签的镜像,将强制覆盖;未勾选则会跳过已存在的镜像,避免覆盖重要数据。

7. 操作按钮
  • 取消:放弃当前配置,返回上一级界面。
  • 保存:保存当前规则,使其生效。

典型使用场景
  • 灾备备份:创建 Push-based 规则,将生产 Harbor 的关键镜像定时同步到备份 Harbor。
  • 多环境分发:通过事件驱动模式,将测试通过的镜像自动同步到预生产环境。
  • 跨地域部署:配置 Pull-based 规则,让各地域的 Harbor 从中心仓库拉取镜像,实现就近访问。
例子:

比如现在,我要从 远程服务器 192.168.133.133 中拉取 项目 ambari 下的 k8s 中的所有镜像,并且是手动拉取就好了,那么我的选择:

其中,目标仓库选择 133 ,如果没得选择,说明你还没有把 目标 服务器 添加进去。

3.2 pull 从远程服务器的harbor中拉取

一样的,无非就是源仓库地址先选好

三、关于定时驱动

在触发模式中,有三个选项,分别是 手动、定时、事件驱动。

1. 手动(Manual)

  • 触发方式:仅在用户手动点击 "执行" 按钮时,才会启动复制任务。
  • 特点:完全由人工控制,不会自动执行。
  • 适用场景
    • 新规则配置后的首次测试,验证复制流程是否正常。
    • 临时需要同步一批镜像,无需定期执行。
    • 特殊场景下的应急同步(如目标仓库修复后)。

2. 定时(Scheduled)

  • 触发方式 :根据用户配置的 Cron 表达式,在指定的时间点自动执行复制任务。
  • 特点:周期性、可预测,适合固定频率的同步需求。
  • 适用场景
    • 每日 / 每周的镜像备份,确保目标仓库始终有最新的关键镜像。
    • 业务低峰期(如凌晨)执行大体积镜像复制,避免影响白天业务。
    • 合规性要求下的定期镜像同步审计。

例如以下: 每天凌晨 1 点 开始执行复制任务


3. 事件驱动(Event-driven)

  • 触发方式:当源 Harbor 中发生特定事件(如推送新镜像、更新标签、删除镜像)时,自动触发复制任务。相当于同步任务。
  • 特点:实时响应,保证源与目标仓库的镜像状态高度一致。
  • 适用场景
    • 开发 / 测试 / 生产环境的镜像流转,确保新构建的镜像能及时同步到下游环境。
    • 多地域部署架构中,中心仓库的镜像更新后,自动同步到各边缘节点。
    • 对镜像时效性要求高的业务场景(如 CI/CD 流水线)。

四、关于选项

1. 覆盖(Override)✅

  • 含义 :当目标仓库中已存在同名、同标签的镜像时,是否用源仓库的镜像覆盖它。
  • 作用
    • 勾选后:强制覆盖目标镜像,确保目标仓库始终与源仓库保持一致。
    • 不勾选:跳过已存在的镜像,避免误覆盖重要数据。
  • 注意:生产环境需谨慎使用,防止覆盖关键业务镜像。

2. 分块复制(Chunked replication)📦

  • 含义:将大镜像文件拆分为多个小块(chunk)进行传输,而非一次性传输整个文件。
  • 作用
    • 提升大镜像复制的成功率,避免因网络波动导致整个传输失败。
    • 支持断点续传,中断后可从断点继续,无需从头开始。
    • 降低单次传输的内存和带宽占用,适合网络条件一般或大镜像场景。
  • 适用场景:复制 GB 级别的大镜像,或网络不稳定的跨地域复制。

3. 启用规则(Enable rule)⚙️

  • 含义:是否立即启用这条复制规则。
  • 作用
    • 勾选后:规则保存后立即生效,按触发模式执行复制任务。
    • 不勾选:规则保存后处于禁用状态,需手动启用后才会执行。
  • 适用场景:先配置好规则,待网络调整、目标仓库准备就绪后再启用,避免过早执行。

配置建议

  • 若需确保目标仓库镜像始终最新 → 勾选「覆盖」。
  • 若复制大镜像或网络不稳定 → 勾选「分块复制」。
  • 若需延后执行 → 先不勾选「启用规则」,待时机成熟后手动启用。

END

如果觉得这份基础知识点总结清晰,别忘了动动小手点个赞👍,再关注一下呀~ 后续还会分享更多有关开发问题的干货技巧,同时一起解锁更多好用的功能,少踩坑多提效!🥰 你的支持就是我更新的最大动力,咱们下次分享再见呀~🌟

相关推荐
何中应2 小时前
Jenkins如何导入/导出插件
运维·ci/cd·jenkins
XP62263 小时前
Linux安装RabbitMQ
linux·运维·rabbitmq
xlq223223 小时前
17。进程地址空间
linux·运维·服务器
疑犯3 小时前
Linux中符号命令详解
linux·运维·服务器
hweiyu003 小时前
Linux 命令:echo
linux·运维
JZC_xiaozhong3 小时前
什么是跨系统流程自动化?
大数据·运维·bpm·数据集成与应用集成·业务流程管理
Ha_To3 小时前
2026.2.3 Dockfile创建镜像
linux·运维·服务器
猫头虎3 小时前
OpenClaw相关的开源AI项目汇总大全:本文涵盖近期所有OpenClaw相关的GitHub高星star热门项目
运维·人工智能·macos·docker·容器·开源·github
HIT_Weston3 小时前
132、【Ubuntu】【Hugo】搜索功能异常(问题解决)(二)
linux·运维·ubuntu