容器镜像中心和容器镜像中心运行方法技术

技术编号:28941516 阅读:17 留言:0更新日期:2021-06-18 21:46
本申请公开了一种容器镜像中心和容器镜像中心运行方法,一种容器镜像中心,包括:存储模块及多台主机,每台主机设置有一个harbor模块和对应的保活模块,所述存储模块存储有容器镜像数据;保活模块包括主保活模块和多个从保活模块;所述harbor模块包括:主harbor模块和多个从harbor模块。所述存储模块包括:主控制子模块、多个从控制子模块和多个存储子模块,实现数据的分布式存储。本发明专利技术中主harbor模块工作,多个从harbor模块备份;主控制子模块工作,从控制子模块备份。当主harbor模块或者主控制子模块异常,从harbor模块或者从控制子模块可以取代继续工作,提高了可用性。多个存储子模块可以对数据进行冗余备份分布式存储,提高了可靠性。

【技术实现步骤摘要】
容器镜像中心和容器镜像中心运行方法
本申请涉及计算机
,具体而言,涉及一种容器镜像中心和容器镜像中心运行方法。
技术介绍
容器镜像中心存储了容器镜像数据,harbor模块接收客户端发送的对容器镜像的读/写请求;当harbor模块故障时,客户端不能够对存储的容器镜像进行正常的读/写操作,容器镜像中心可用性比较低。
技术实现思路
本申请的主要目的在于提供一种容器镜像中心和容器镜像中心运行方法,以解决现有技术中由于harbor模块故障而造成的客户端不能够对容器镜像进行正常读/写的问题。为了实现上述目的,根据本申请的一个方面,提供了一种容器镜像中心,包括:存储模块及多台主机,每台主机设置有一个harbor模块和对应的保活模块,所述存储模块存储有容器镜像数据;保活模块包括:主保活模块和多个从保活模块;所述主保活模块,用于检测对应的主harbor模块的工作状态;当检测到对应的主harbor模块的工作状态为非正常工作状态时,停止向各个从保活模块发送VRRP通告报文,以使各个从保活模块进行选举确定出新的主保活模块以及对应的新的主harbor模块;所述harbor模块包括:主harbor模块和多个从harbor模块;所述主harbor模块,用于根据客户端的读/写请求向相应的存储模块读/写容器镜像数据;将读取的容器镜像数据发送给客户端。在一种实施方式中,所述存储模块包括:主控制子模块和多个存储子模块;所述主控制子模块,用于保存每个存储子模块和存储的容器镜像数据的存储关系;以及每个存储子模块写入或者删除容器镜像数据后,更新存储关系;以及用于接收所述主harbor模块发送的读/写请求;当读/写请求为读请求时,根据所述读请求携带的目标容器镜像数据的标识和预先设定的存储关系确定所述目标容器镜像数据存储的目标存储子模块;从所述目标存储子模块获取所述容器镜像数据;将所述容器镜像数据发送给所述主harbor模块;当读/写请求为写请求时,根据预先设定的分配规则确定目标存储子模块;将写请求的容器镜像数据发送给所述目标存储子模块进行存储并更新存储关系。在一种实施方式中,根据预先设定的分配规则确定目标存储子模块,包括:统计每个存储子模块的剩余存储空间的大小;将多个存储子模块按照剩余存储空间从大到小的顺序进行排序;选择排序前M位的存储子模块作为目标存储子模块。在一种实施方式中,所述主控制子模块还用于,当读/写请求为写请求时,对写请求的容器镜像数据进行复制得到多个复制的容器镜像数据,根据预先设定的分发规则将所述多个复制的容器镜像数据分发到不同的存储子模块进行存储。在一种实施方式中,主控制子模块根据预先设定的分配规则确定目标存储子模块,具体包括:根据所述容器镜像数据的标识统计所述容器镜像数据在多个存储子模块中的副本数量以及分布;根据所述副本数量确定对所述容器镜像数据再次进行复制得到多个容器镜像数据副本;根据所述副本的分布确定所述多个容器镜像数据副本的目标存储子模块。在一种实施方式中,所述存储模块还包括多个从控制子模块,当所述主控制子模块处于非正常工作状态时,所述多个从控制子模块选举出新的主控制子模块。在一种实施方式中,所述主harbor模块异常包括:健康状态异常或者故障;所述主保活模块还用于,向对应的主harbor模块发送健康状态查询请求消息;接收所述主harbor模块发送的携带健康状态的响应消息;根据所述响应消息确定所述主harbor模块的健康状态异常。在一种实施方式中,所述主保活模块还用于,在向所述主harbor模块发送健康状态查询请求消息之后,从零开始进行计时;判断在预定的时间阈值之内是否接收到所述主harbor模块发送的响应消息;如果否,则确定所述主harbor模块故障。在一种实施方式中,所述主保活模块还用于,将主harbor模块的虚拟地址和所在主机的物理网卡进行绑定,向多个客户端以广播的方式发送所述主harbor模块的虚拟地址,以使每个客户端根据所述物理网卡地址向所述主harbor模块发送读/写请求。第二方面,本申请还提出了一种容器镜像中心运行方法,应用于上述任一项的容器镜像中心;所述方法包括:主harbor模块接收客户端发送的读/写请求;所述主harbor模块根据所述读/写请求向相应的存储模块读/写容器镜像数据;如果是读请求,则将容器镜像数据发送给所述客户端。在一些实施例中,所述主保活模块检测对应的所述主harbor模块的工作状态;当所述主保活模块检测到对应的所述主harbor模块的工作状态为非正常工作状态时,停止向各个从保活模块发送VRRP通告报文,以使各个从保活模块进行选举确定出新的主保活模块以及对应的新的主harbor模块。在一些实施例中,所述新的主保活模块还用于,将主harbor模块的虚拟地址和所在主机的物理网卡进行绑定,向多个客户端以广播的方式发送所述新的主harbor模块的虚拟地址,以使每个客户端根据所述物理网卡地址向所述新的主harbor模块发送读/写请求。在一些实施例中,所述新的主harbor模块接收客户端对于存储模块的读/写请求;根据读/写请求向存储模块读/写容器镜像数据;将读取的容器镜像数据发送给客户端。在一些实施例中,所述存储模块包括:主控制子模块和多个存储子模块;所述主控制子模块接收所述新的主harbor模块发送的读/写请求;当读/写请求为读请求时,根据所述读请求携带的目标容器镜像数据的标识和预先设定的存储关系确定所述目标容器镜像数据存储的目标存储子模块;从所述目标存储子模块获取所述容器镜像数据;将所述容器镜像数据发送给所述新的主harbor模块;当读/写请求为写请求时,根据预先设定的分配规则确定目标存储子模块;将写请求的容器镜像数据发送给所述目标存储子模块进行存储,并更新存储关系。在一些实施例中,根据预先设定的分配规则确定目标存储子模块,具体包括:统计每个存储子模块的剩余存储空间的大小;将多个存储子模块按照剩余存储空间从大到小的顺序进行排序;选择排序前M位的存储子模块作为目标存储子模块。在一些实施例中,当读/写请求为写请求时,所述主控制子模块对写请求的容器镜像数据进行复制得到多个复制的容器镜像数据,根据预先设定的分发规则将所述多个复制的容器镜像数据分发到不同的存储子模块进行存储。在一些实施例中,主控制子模块根据预先设定的分配规则确定目标存储子模块,具体包括:根据所述容器镜像数据的标识统计所述容器镜像数据在多个存储子模块中的副本数量以及分布;根据所述副本数量确定对所述容器镜像数据再次进行复制得到多个容器镜像数据副本;根据所述副本的分布确定所述多个容器镜像数据副本的目标存储子模块。在一些实施例中,所述存储模块还包括多个从控制子模块,当所述主控制子模块处本文档来自技高网...

【技术保护点】
1.一种容器镜像中心,其特征在于,包括:存储模块及多台主机,每台主机设置有一个harbor模块和对应的保活模块,所述存储模块存储有容器镜像数据;/n保活模块包括:主保活模块和多个从保活模块;/n所述主保活模块,用于检测对应的主harbor模块的工作状态;当检测到对应的主harbor模块的工作状态为非正常工作状态时,停止向各个从保活模块发送VRRP通告报文,以使各个从保活模块进行选举确定出新的主保活模块以及对应的新的主harbor模块;/n所述harbor模块包括:主harbor模块和多个从harbor模块;/n所述主harbor模块,用于根据客户端的读/写请求向相应的存储模块读/写容器镜像数据。/n

【技术特征摘要】
1.一种容器镜像中心,其特征在于,包括:存储模块及多台主机,每台主机设置有一个harbor模块和对应的保活模块,所述存储模块存储有容器镜像数据;
保活模块包括:主保活模块和多个从保活模块;
所述主保活模块,用于检测对应的主harbor模块的工作状态;当检测到对应的主harbor模块的工作状态为非正常工作状态时,停止向各个从保活模块发送VRRP通告报文,以使各个从保活模块进行选举确定出新的主保活模块以及对应的新的主harbor模块;
所述harbor模块包括:主harbor模块和多个从harbor模块;
所述主harbor模块,用于根据客户端的读/写请求向相应的存储模块读/写容器镜像数据。


2.如权利要求1所述的容器镜像中心,其特征在于,所述存储模块包括:主控制子模块和多个存储子模块;
所述主控制子模块,用于保存每个存储子模块和存储的容器镜像数据的存储关系;以及每个存储子模块写入或者删除容器镜像数据后,更新存储关系;
以及用于接收所述主harbor模块发送的读/写请求;
当读/写请求为读请求时,根据所述读请求携带的目标容器镜像数据的标识和预先设定的存储关系确定所述目标容器镜像数据存储的目标存储子模块;从所述目标存储子模块获取所述容器镜像数据;将所述容器镜像数据发送给所述主harbor模块;
当读/写请求为写请求时,根据预先设定的分配规则确定目标存储子模块;将写请求的容器镜像数据发送给所述目标存储子模块进行存储并更新存储关系。


3.如权利要求2所述的容器镜像中心,其特征在于,所述根据预先设定的分配规则确定目标存储子模块具体包括:
统计每个存储子模块的剩余存储空间的大小;
将多个存储子模块按照剩余存储空间从大到小的顺序进行排序;
选择排序前M位的存储子模块作为目标存储子模块。


4.如权利要求2所述的容器镜像中心,其特征在于,所述根据预先设定的分配规则确定目标存储子模块具体包括:
根据所述容器镜像数据的标识统计所述容器镜像数据在多个存储子模块中的副本数量以及分布;
根据所述副本数量确定对所述容器镜像数据再次进行复制得到多个容器镜像数...

【专利技术属性】
技术研发人员:谢建超
申请(专利权)人:同盾科技有限公司同盾控股有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1