买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:郑州云海信息技术有限公司
摘要:本发明为了解决harbor仓库的高可用部署现有技术中存在的问题,创新提出了一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置,使用DaemonSet对象创建harbor服务容器,将harbor镜像仓库部署在pod容器中,使用service对象管理pod容器,并提供统一入口供外部访问,pod容器使用共享存储作为持久化存储,不仅可以实现harbor镜像仓库的高可用部署,而且避免出现数据同步经常会出现异常或者数据丢失等问题,可操作性强,简单易行可靠,提高了工作效率。
主权项:1.一种基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,包括:使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;使用service对象管理pod容器,并提供统一入口供外部访问;pod容器使用共享存储作为持久化存储。
全文数据:一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置技术领域本发明涉及部署harbor镜像仓库的方法,尤其是涉及一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置。背景技术kubernetes作为管理跨多主机容器应用程序的系统,不仅具备完备的容器集群管理能力,还增加了多层次的安全防护机制、租户应用支撑、服务器注册和智能负载均衡器的功能,尤其kubernetes强大的故障发现和自有修复能力,让系统的运维能力得到了极大提升。harbor是一个用于存储和分发容器镜像的企业级registry镜像仓库服务器,使用的是官方的docker开源容器引擎registry服务来完成。harbor在dockerdistribution分布的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor作为容器镜像的仓库服务,直接决定的kubernetes系统中的容器是否可以正常创建。所以harbor仓库的高可用部署是非常必要的。现有技术中harbor仓库的高可用部署一般都是使用keepalive一种检测服务器状态的软件+Haproxy开源的且基于第三应用实现的软负载的方案实现,而且两个harbor仓库之间还需要有同步数据机制,保证两个节点的harbor仓库数据是一致的,但是实现该方案时,数据同步经常会出现异常或者数据丢失等问题,不利于实际应用。发明内容本发明为了解决harbor仓库的高可用部署现有技术中存在的问题,创新提出了一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置,不仅可以实现harbor镜像仓库的高可用部署,而且避免出现数据同步经常会出现异常或者数据丢失等问题,可操作性强,简单易行,提高了操作效率。本发明一方面提供了一种基于kubernetes的高可用部署harbor镜像仓库的方法,包括:使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;使用service对象管理pod容器,并提供统一入口供外部访问;pod容器使用共享存储作为持久化存储。结合第一方面,在第一方面第一种可能的实现方式中,所述使用DaemonSet对象创建pod容器具体是:kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。结合第一方面,在第一方面第二种可能的实现方式中,所述DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器具体是:所述DaemonSet对象监控其定义的若干个pod容器的状态,当发现pod容器状态异常,调用创建pod容器的脚本自动创建一个与之前相同的pod容器。结合第一方面,在第一方面第三种可能的实现方式中,所述使用service对象管理pod容器,并提供统一入口供外部访问具体是:kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系;serivce对象对外提供统一的IP地址和端口号,作为外部访问入口。结合第一方面,在第一方面第四种可能的实现方式中,所述kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系具体是通过容器的label标签来实现的。本发明第二方面提供了一种基于kubernetes的高可用部署harbor镜像仓库的装置,包括:创建模块,使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;管理模块,使用service对象管理pod容器,并提供统一入口供外部访问;存储模块,pod容器使用共享存储作为持久化存储。结合第二方面,在第二方面第一种可能的实现方式中,所述创建模块包括:定义模块,kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;重建模块,DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。结合第二方面,在第二方面第二种可能的实现方式中,所述管理模块还包括:关联子模块,kubernetes系统的service对象将若干个pod务容器与service对象建立管理关联关系;访问子模块,serivce对象对外提供统一的IP地址和端口号,作为外部访问入口。结合第二方面,在第二方面第三种可能的实现方式中,所述关联子模块中kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系具体是通过pod容器的label标签来实现的。本发明采用的技术方案包括以下技术效果:本发明为了解决harbor仓库的高可用部署现有技术中存在的问题,创新提出了一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置,kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,将harbor镜像仓库部署在pod容器中,pod容器分布在不同物理服务器上,这样保证一个服务器宕机,不会导致所有的pod容器都无法正常使用,DaemonSet对象还可以对其定义的多个pod容器进行监控,当pod容器状态发生异常时候,可以重建pod容器,保证pod容器在系统中时刻都是处于工作状态,使本发明技术方案更加可靠。本发明为了解决harbor仓库的高可用部署现有技术中存在的问题,创新提出了一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置,kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系,serivce对象对外提供统一的IP地址和端口号,作为外部访问入口,利用service对象实现负载均衡。本发明为了解决harbor仓库的高可用部署现有技术中存在的问题,创新提出了一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置,pod容器使用外接的共享存储用于存储镜像数据,若干个pod容器都是用一块共享存储,免去同步数据带来的数据出现异常或者数据丢失等问题。总体来说,本发明技术方案采用Daemonset形式部署pod容器,将harbor镜像仓库部署在pod容器中,不仅可以实现harbor镜像仓库的高可用部署,而且避免出现数据同步经常会出现异常或者数据丢失等问题,可操作性强,简单易行可靠,提高了工作效率。应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明方案中方法实施例一的流程示意图;图2为本发明方案中方法实施例二的流程示意图;图3为本发明方案中方法实施例二的结构示意图;图4为本发明方案中方法实施例三的流程示意图;图5为本发明方案中方法实施例三的结构示意图;图6为本发明方案中方法实施例四的结构示意图;图7为本发明方案中装置实施例五的结构示意图;图8为本发明方案中装置实施例六的结构示意图;图9为本发明方案中装置实施例七的结构示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。实施例一如图1所示,本发明技术方案中一种基于kubernetes的高可用部署harbor镜像仓库的方法,包括:S1,使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;S2,使用service对象管理pod容器,并提供统一入口供外部访问;S3,pod容器使用共享存储作为持久化存储。实施例二如图2和图3所示,本发明技术方案一种基于kubernetes的高可用部署harbor镜像仓库的方法中,步骤S1具体是:S11,kubernetes系统中的DaemonSet对象11定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;S12,DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。其中,在步骤S11中,kubernetes系统中的DaemonSet对象11定义创建N个配置相同的pod容器,即第一pod容器、第二pod容器、第三pod容器……第Npod容器,DaemonSet对象11定义创建的N个配置相同的pod容器分别分布于不同的物理服务器节点中,即第一pod容器位于第一物理服务器节点、第二pod容器位于第二物理服务器节点、第三pod容器位于第三物理服务器节点……第Npod容器位于第N物理服务器节点,定义创建原理是kubernetes本身的一个功能,这样保证一个服务器宕机,不会导致所有的pod务容器都无法正常使用。在步骤S12中,DaemonSet对象11还可以对其定义的多个pod容器进行监控,当监控到pod容器状态发生异常时候,可以重建pod容器,具体是调用创建pod容器的脚本自动创建一个与之前相同的pod容器,pod容器发生异常后自动重建,也是Daemonset对象的一个功能,可以保证pod容器在系统中时刻都是处于工作状态,使本发明技术方案更加可靠。本发明技术方案采用Daemonset形式部署pod容器,将harbor镜像仓库部署在pod容器中,这样每个节点pod容器上都有harbor服务,那么节点上的其他pod容器在查找镜像时候,就可以访问本地的harbor服务,不需要通过网络,实现harbor镜像仓库的高可用部署。实施例三如图4和图5所示,本发明技术方案一种基于kubernetes的高可用部署harbor镜像仓库的方法中,步骤S2具体是:S21,kubernetes系统的service对象21将若干个pod容器与service对象21建立管理关联关系;S22,serivce对象21对外提供统一的IP地址和端口号,作为外部访问入口。其中,在步骤S21中,kubernetes系统的service对象21负责管理DaemonSet对象11定义创建的若干个pod容器,service对象21将若干个pod容器与service对象21建立管理关联关系,即service对象21将位于第一物理服务器节点的第一pod容器、位于第二物理服务器节点的第二pod容器、位于第三物理服务器节点的第三pod容器……位于第N物理服务器节点的第Npod容器与service对象21建立管理关系;在步骤S22中,serivce对象21对外提供统一的IP地址和端口号,作为外部访问入口。其中kubernetes系统的service对象21将若干个harbor服务容器与service对象21建立管理关联关系具体是通过pod容器的label标签来实现的。不论pod容器是否重启,这种关联关系会一直存在。实施例四如图6所示,本发明技术方案一种基于kubernetes的高可用部署harbor镜像仓库的方法中,步骤S3中,pod容器使用共享存储作为持久化存储具体是:pod容器使用外接的共享存储32用于存储镜像数据,若干个pod容器都是用一块共享存储32,让若干个pod容器共享存储数据,即位于第一物理服务器节点的第一pod容器、位于第二物理服务器节点的第二pod容器、位于第三物理服务器节点的第三pod容器……位于第N物理服务器节点的第Npod容器使用一块共享存储32来存储镜像数据,免去同步数据带来的数据出现异常或者数据丢失等问题。实施例五如图7所示,本发明技术方案中一种基于kubernetes的高可用部署harbor镜像仓库的装置,包括:创建模块101,使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;管理模块102,使用service对象管理pod容器,并提供统一入口供外部访问;存储模块103,pod容器使用共享存储作为持久化存储。实施例六如图8所示,本发明技术方案一种基于kubernetes的高可用部署harbor镜像仓库的装置中,创建模块101包括:定义模块201,kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;重建模块202,DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。在重建模块202中,DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器具体是:所述DaemonSet对象监控其定义的若干个pod容器的状态,当发现pod容器状态异常,调用创建pod容器的脚本自动创建一个与之前相同的pod容器。实施例七如图9所示,本发明技术方案一种基于kubernetes的高可用部署harbor镜像仓库的装置中,管理模块102包括:关联子模块301,kubernetes系统的service对象将若干个pod务容器与service对象建立管理关联关系;访问子模块302,serivce对象对外提供统一的IP地址和端口号,作为外部访问入口。其中,关联子模块中kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系具体是通过pod容器的label标签来实现的。上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
权利要求:1.一种基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,包括:使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;使用service对象管理pod容器,并提供统一入口供外部访问;pod容器使用共享存储作为持久化存储。2.根据权利要求1所述的基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,所述使用DaemonSet对象创建pod容器具体是:kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。3.根据权利要求2所述的基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,所述DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器具体是:所述DaemonSet对象监控其定义的若干个pod容器的状态,当发现pod容器状态异常,调用创建pod容器的脚本自动创建一个与之前相同的pod容器。4.根据权利要求1所述的基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,所述使用service对象管理pod容器,并提供统一入口供外部访问具体是:kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系;serivce对象对外提供统一的IP地址和端口号,作为外部访问入口。5.根据权利要求4所述的基于kubernetes的高可用部署harbor镜像仓库的方法,其特征是,所述kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系具体是通过容器的label标签来实现的。6.一种基于kubernetes的高可用部署harbor镜像仓库的装置,其特征是,包括:创建模块,使用DaemonSet对象创建pod容器,将harbor镜像仓库部署在pod容器中;管理模块,使用service对象管理pod容器,并提供统一入口供外部访问;存储模块,pod容器使用共享存储作为持久化存储。7.根据权利要求6所述的基于kubernetes的高可用部署harbor镜像仓库的装置,其特征是,所述创建模块包括:定义模块,kubernetes系统中的DaemonSet对象定义若干个相同配置的pod容器,pod容器分布在不同物理服务器上;重建模块,DaemonSet对象对其定义的若干个pod容器进行监控,当pod容器状态发生异常时,重建pod容器。8.根据权利要求6所述的基于kubernetes的高可用部署harbor镜像仓库的装置,其特征是,所述管理模块包括:关联子模块,kubernetes系统的service对象将若干个pod务容器与service对象建立管理关联关系;访问子模块,serivce对象对外提供统一的IP地址和端口号,作为外部访问入口。9.根据权利要求8所述的基于kubernetes的高可用部署harbor镜像仓库的装置,其特征是,所述关联子模块中kubernetes系统的service对象将若干个pod容器与service对象建立管理关联关系具体是通过pod容器的label标签来实现的。
百度查询: 郑州云海信息技术有限公司 一种基于kubernetes的高可用部署harbor镜像仓库的方法及装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。