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

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

相关推荐
Avan_菜菜20 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工7 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智7 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_7 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化