云原生

harbor镜像同步

2023-07-24  本文已影响0人  宇晨棒棒的

0.Harbor的镜像同步机制

有了多个镜像仓库,在多个仓库之间进行镜像同步马上就成为了一个普遍的需求。

Harbor则提供了更加灵活的方案来处理镜像的同步,其核心是三个概念:

用Harbor自己的API来进行镜像下载和传输,作到与底层存储环境解耦。

利用任务调度和监控机制进行复制任务的管理,保障复制任务的健壮性。在同步过程中,如果源镜像已删除,Harbor会自动同步删除远端的镜像。在镜像同步复制的过程中,Harbor会监控整个复制过程,遇到网络等错误,会自动重试。

提供复制策略机制保证项目级的复制需求。在Harbor中,可以在项目中创建复制策略,来实现对镜像的同步。与Docker Registry的不同之处在于,Harbor的复制是推(PUSH)的策略,由源端发起,而Docker Registry的复制是拉(PULL)的策略,由目标端发起。

同步示意图

1.部署前提:

需要至少两节点的harbor

安装步骤参考:https://www.jianshu.com/p/e7398e7a5f76

假设:部署的两台主机是:192.168.37.10 (主)192.168.37.9(从),确保配置了insecure-registries":["192.168.37.10"]

2.首先在主上传一个镜像:

docker  pull   nginx

docker tag nginx:latest 192.168.37.10/educloud/nginx:V1

docker push 192.168.37.10/educloud/nginx:V1

查看镜像:

镜像上传成功

3.配置从远程同步镜像

Harbor系统管理员设置复制规则后,满足触发条件时,所有与定义的过滤器模式匹配的资源都将复制到目标注册表。复制的每个资源都会启动复制任务。

如果目标注册表中不存在该名称空间,则会自动创建一个新的名称空间

如果它已经存在,并且复制策略中配置的用户帐户没有写权限,则该过程将失败

会员信息不被复制

根据网络状况,复制期间可能会有一些延迟。如果复制任务失败,则会在几分钟后重新安排它并重试几次

3.1)配置主的相关信息:

主库的账号信息

3.2)配置同步信息:

同步信息设置

3.3)同步结果:

同步结果

4.如果是双主模式的话,需要在主的那个上面再执行上面的操作:

4.0)确保配置了insecure-registries":["192.168.37.10","192.168.37.9"]

重新启动docker服务

4.1)配置从的相关信息

4.2)配置同步信息

执行结果:

同步从的镜像

5.此处触发模式都是手动执行,可以再配置同步信息的时候将触发模式换成自动

上一篇下一篇

猜你喜欢

热点阅读