(十八)VMware Harbor 镜像同步

为什么需要镜像同步

由于对镜像的访问是一个核心的容器概念,在实际使用过程中,一个镜像库可能是不够用的,下例情况下,我们可能会需要部署多个镜像仓库:

  • 国外的公有镜像下载过慢,需要一个中转仓库进行加速
  • 容器规模较大,一个镜像仓库不堪重负
  • 对系统稳定性要求高,需要多个仓库保证高可用性
  • 镜像仓库有多级规划,下级仓库依赖上级仓库

更常用的场景是,在企业级软件环境中,会在软件开发的不同阶段存在不同的镜像仓库,

  • 在开发环境库,开发人员频繁修改镜像,一旦代码完成,生成稳定的镜像即需要同步到测试环境。
  • 在测试环境库,测试人员对镜像是只读操作,测试完成后,将镜像同步到预上线环境库。
  • 在预上线环境库,运维人员对镜像也是只读操作,一旦运行正常,即将镜像同步到生产环境库。
  • 在这个流程中,各环境的镜像库之间都需要镜像的同步和复制。

功能简介

在功能设计方面,Harbor仍然以“项目”为中心, 通过对项目配置“复制策略”,标明需要复制的项目以及镜像。管理员在复制策略中指明目标实例,即复制的“目的地”,并对它的地址和连接时使用的用户名密码进行设置。当复制策略被激活时,源项目下的所有镜像,都会被复制到目标实例;此外,当源项目下的镜像被添加或删除(push或delete), 只要策略还在激活状态,镜像的变化都会同步到目标实例上去, 如下图所示:

在较大的容器集群中,往往需要多个Registry服务器做负载均衡,可以采用主从发布模式,镜像只需要发布一次,就可以推送到多个Registry实例中。同时还支持双主复制和层次型的多级镜像发布,如下图所示:

Harbor的镜像同步机制

有了多个镜像仓库,在多个仓库之间进行镜像同步马上就成为了一个普遍的需求。比较传统的镜像同步方式,有两种:

  • 第一种方案,使用Linux提供的RSYNC服务来定义两个仓库之间的镜像数据同步。
  • 第二种方案,对于使用IaaS服务进行镜像存储的场景,利用IaaS的配置工具来对镜像的同步进行配置。

这两种方案都依赖于仓库所在的存储环境,而需要采用不同的工具策略。Harbor则提供了更加灵活的方案来处理镜像的同步,其核心是三个概念:

  • 用Harbor自己的API来进行镜像下载和传输,作到与底层存储环境解耦。
  • 利用任务调度和监控机制进行复制任务的管理,保障复制任务的健壮性。在同步过程中,如果源镜像已删除,Harbor会自动同步删除远端的镜像。在镜像同步复制的过程中,Harbor会监控整个复制过程,遇到网络等错误,会自动重试。
  • 提供复制策略机制保证项目级的复制需求。在Harbor中,可以在项目中创建复制策略,来实现对镜像的同步。与Docker Registry的不同之处在于,Harbor的复制是推(PUSH)的策略,由源端发起,而Docker Registry的复制是拉(PULL)的策略,由目标端发起。

我们准备两台机器,并分别安装好Harbor( 版本:1.4.0 ):

主Harbor harbor.test.com 192.168.5.150
备Harbor harbor-01.test.com 192.168.5.151
docker client   192.168.5.107

1. 在主Harbor 创建新项目test

2.在主Harbor的仓库管理->新建目标:

3.在Harbor的复制管理->新建规则:

4.在客户端上传image到主Harbor

[[email protected] ~]# docker push harbor.test.com/test/docker-test:latest
The push refers to a repository [harbor.test.com/test/docker-test]
146788dad3cb: Layer already exists
2f6c24bddb30: Layer already exists
952a32dca55a: Layer already exists
b308dc99c2a4: Layer already exists
4ac76077f2c7: Layer already exists
latest: digest: sha256:520230466225bac646e1cd5ff645eb3f6d24b8e62039e5ffb5d355c67e4058e6 size: 1354

5.在主Harbor的复制管理中看到多了一条复制任务在执行:

6.再在备Harbor中已经看到test/docker-test.latest 已经从主Harbor自动复制过来:

参考:https://blog.csdn.net/hxpjava1/article/details/79308890

参考:https://blog.csdn.net/kozazyh/article/details/79829463

参考:https://my.oschina.net/vmwareharbor/blog/728085

原文地址:https://www.cnblogs.com/shix0909/p/11115122.html

时间: 2024-10-03 05:02:33

(十八)VMware Harbor 镜像同步的相关文章

搭建Vmware Harbor 镜像仓库

1.前置条件 : 需要有docker docker-compose 2.准备安装: mkdir /data mkdir /data/cert 上传server.crt server.key 证书文件到/data/cert下: LDAP服务器防火墙规则加入Harbor IP地址 3. 安装docker yum install docker 4.安装docker-compose curl -L https://github.com/docker/compose/releases/download/1

第二十八(线程的同步、守护线程、Timer 定时器)

/* 模拟ATM取款,不是线程同步机制,多线程同时对一个账户进行操作 t1 和 t2 异步编程模型:t1线程执行t1,t2线程执行的是t2,两个线程之间谁也不等于谁 同步编程模型:t1线程和t2线程执行,当t1线程必须等于t2的线程执行结果之后,t1线程才能执行 这是同步编程模型. 什么时候需要引入同步 1. 为了数据安全,尽管应用程序的使用率低,但是为了保证数据安全性,必须的加入线程同步机制 线程同步机制 使程序变成了(等同)单线程 2. 在什么条件下需要使用线程同步 <1> 必须是多线程环

十八、Rsync 远程同步数据

在linux系统下数据备份的工具.Rsync不仅可以远程同步数据(类似于scp [1]),当然还可以本地同步数据(类似于cp),但不同于cp或scp的一点是,rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉.如果你的linux没有rsync命令请使用 yum install -y rsync 安装. 下面阿铭先举一个例子,然后再详细讲解rsync的用法: [[email protected] ~]#

Harbor用户机制、镜像同步和与Kubernetes的集成实践

Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等. 容器的核心在于镜象的概念,由于可以将应用打包成镜像,并快速的启动和停止,因此容器成为新的炙手可热的基础设施CAAS,并为敏捷和持续交付包括DevOps提供底层的支持. 而Habor和Docker Registry所提供的容器镜像仓库,就是容器镜像的存

vmware P2V迁移同步实践

                         作者 :杨 坚 第一部分:P2V迁移 P2V迁移需要使用VMware vCenter Converter Standalone 5.0 ,该软件提供了一种易于使用的解决方案,可以从物理机(运行 Windows 和 Linux).其他虚拟机格式及第三方映像格式自动创建 VMware 虚拟机.通过简单易用的向导驱动界面和集中管理控制台,Converter Standalone 无需任何中断或停机便可快速而可靠地转换多台本地物理机和远程物理机.通过在数

如何在Rancher Catalog中使用VMware Harbor

Harbor Registry是VMware公司的Docker镜像管理产品.相较于其他镜像仓库,Harbor提供身份管理功能,安全性更高,支持单个主机上的多个registry,这些功能正是很多企业用户需要的. 在Rancher容器管理平台之上,VMware Harbor可以被添加为Rancher应用商店(Catalog)中的一个条目.本文将展示如何将Harbor在线安装程序docker化,然后rancher化,从而在Docker主机的分布式集群上安装Harbor. 本文作者MASSIMO是VMw

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个须要极度耐心和体力的仔细工作. 虽然有非常多文档教会大家怎么一步一步去完毕这样的工作,可是百密也有一疏. 现成的工具不是没有,可是对于我这个喜欢了解细节的人来说,用别人的东西,写的好还能够,写的不好,出了问题,查找错误难之又难.手工安装Hadoop集群须要对Linux有一定的使用经验.对于全然没有接触Linux的人来说.肯定是

Harbor镜像仓库部署

一.简介 Harbor是VMware中国研发团队开发并开源企业级Registry,对中文支持很友好. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. Harbor具有如下特点: 1.基于角色的访问控制 - 用户与Docker镜像仓库通过"项目"进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限. 2.镜像复制 - 镜像可以在多个Registry实例中复制(同步).尤其适合于负载均衡,高可用,混合云和多云的场景. 3.

harbor镜像仓库原理和安装

原地址:harbor镜像仓库 目录 一:Harbor简介 1. docker registry的缺点: 2. Harbor优点 3. Harbor介绍 Harbor官方网站:http://vmware.github.io/harbor/ 二:Harbor主要组件 三:Harbor架构 1. Harbor登录过程 2. Docker push 的过程 四:harbor镜像仓库部署 1. 安装harbor环境 2. 安装harobr镜像仓库 五:Harbor使用 2. 创建镜像项目kubernete