一种应用于容器技术的集成部署方法及其系统与流程

文档序号:18463931发布日期:2019-08-17 02:17阅读:148来源:国知局
一种应用于容器技术的集成部署方法及其系统与流程

本发明涉及信息科技领域,具体是一种应用于容器技术的集成部署方法及其系统。



背景技术:

现在,虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。由于hypervisor虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器(container)的新型虚拟化技术来帮助解决这些问题。容器技术可以同时将操作系统镜像和应用程序加载到内存当中,还可以从网络磁盘进行加载,该技术可以做到在同一台机器上启动几十台镜像服务而互不干扰,并且镜像创建过程还可以继承通用镜像,大大减少了性能的损耗和管理的混乱。

由于上述优点,容器技术在虚拟化市场上占有率逐年增加,众多较为有名的云计算厂家都快速适配了容器技术。但是这些厂家大多都将容器技术限制在自己的云服务器上,从而收取高昂的使用费。而一个企业在运营过程中会需要使用到多种服务,即需要使用不同云服务器上的容器,这就导致企业运营成本的提高。



技术实现要素:

本发明的目的在于提供一种应用于容器技术的集成部署方法及其系统,以解决上述问题。

为实现上述目的,本发明提供如下技术方案:

一种应用于容器技术的集成部署方法,包括以下步骤:

根据项目分析所需要的多个服务;

创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器;

将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。

在进一步的方案中:还包括:

当一个所述服务匹配多个容器时,以该服务对其所匹配的多个所述容器进行整合形成容器组,所述容器组中的多个容器用于运行同一个服务。

在进一步的方案中:还包括:

当单个服务器的负载超过预设值而需要对其内所加载的容器进行删除时,核准该服务器内是否加载有隶属于所述容器组的容器,若是,则删除所述隶属于所述容器组的容器,若否,则计算该服务器内所加载的容器的占用空间,删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器。

在进一步的方案中:所述删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器包括:

统计所述服务器集群中非过载服务器的剩余空间,所述非过载服务器为负载量未超过预设值的服务器;

计算多个所述非过载服务器的剩余空间与待删除容器占用空间之间的差值,同时对差值进行排序;

选择与待删除容器占用空间差值最大的非过载服务器,然后将待删除容器从过载服务中剪切至该非过载服务器中。

在进一步的方案中:还包括:

分析多个所述服务之间的依赖关系,标记具有依赖关系的至少两个服务所对应的至少两个容器,以构建多个所述容器之间的树状图。

在进一步的方案中:还包括:

根据所述多个所述容器之间的树状图对容器进行管理,以对异常进行修复。

一种应用于容器技术的集成部署系统,包括:

分析模块,用于根据项目分析所需要的多个服务;

添加模块,用于创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器;

加载模块,用于将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。

在进一步的方案中:还包括:

整合模块,用于当一个所述服务匹配多个容器时,以该服务对其所匹配的多个所述容器进行整合形成容器组,所述容器组中的多个容器用于运行同一个服务。

在进一步的方案中:还包括:

防过载模块,用于当单个服务器的负载超过预设值而需要对其内所加载的容器进行删除时,核准该服务器内是否加载有隶属于所述容器组的容器,若是,则删除所述隶属于所述容器组的容器,若否,则计算该服务器内所加载的容器的占用空间,删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器。

在进一步的方案中:所述防过载模块包括:

统计单元,用于统计所述服务器集群中非过载服务器的剩余空间,所述非过载服务器为负载量未超过预设值的服务器;

计算单元,用于计算多个所述非过载服务器的剩余空间与待删除容器占用空间之间的差值,同时对差值进行排序;

剪切单元,用于选择与待删除容器占用空间差值最大的非过载服务器,然后将待删除容器从负载量超过预设值的服务器中剪切至该非过载服务器中。

在进一步的方案中:还包括:

关联模块,用于分析多个所述服务之间的依赖关系,标记具有依赖关系的至少两个服务所对应的至少两个容器,以构建多个所述容器之间的树状图。

在进一步的方案中:还包括:

异常管理模块,用于根据所述多个所述容器之间的树状图对容器进行管理,以对异常进行修复。

一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行上述方法。

相较于现有技术,本发明的有益效果如下:

本发明通过根据项目分析所需要的多个服务;创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器;将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。即本发明依据项目进行容器组和服务器集群的部署,对项目所包含的服务进行了集成,从而方便了企业的运营,降低了企业的运营成本。

附图说明

图1为应用于容器技术的集成部署方法实施例1的流程图。

图2为应用于容器技术的集成部署方法实施例2的流程图。

图3为应用于容器技术的集成部署方法实施例3的流程图。

图4为应用于容器技术的集成部署方法实施例4的流程图。

图5为应用于容器技术的集成部署方法实施例5的流程图。

图6为应用于容器技术的集成部署系统的架构图。

图7为应用于容器技术的集成部署系统中防过载模块的架构图。

具体实施方式

以下实施例会结合附图对本发明进行详述。本发明所列举的各实施例仅用以说明本发明,并非用以限制本发明的范围。对本发明所作的任何显而易知的修饰或变更都不脱离本发明的精神与范围。

在进行实施例描述前,先对本发明会涉及到的名词进行解释,以使背景技术以及后续提到的内容更易于进行理解。

业务:为迎合某种需求而设计的方案,该方案包含多个能够实现相关功能的服务。

服务:与相关功能相配合的算法或者接口。

容器镜像:指除了携带服务应有的代码载体外,一起打包整个运行环境(例如依赖包、数据库甚至整个底层系统)和启动操作方法的载体。

容器组:由多个容器组成的容器镜像群体。

健壮:能够不受干扰稳定运行。

虚拟化技术:是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。

服务器:用于提供计算服务的设备,可以为实体设备,也可以为虚拟设备。

集群:由多个所述服务器组成的支撑整个业务的设备集合。

实施例1

请参阅图1,本发明实施例中,一种应用于容器技术的集成部署方法,包括以下步骤:

s10,根据项目分析所需要的多个服务。

s20,创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器。

由于对项目所需用到的服务进行了分析,在此基础上进行容器的添加,就使得容器组能够包含一个项目所需服务的所有容器,实现了整合。

s30,将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。

在步骤s20中提到了一个所述服务匹配至少一个容器,而在步骤s30中又提到了单个服务器匹配所述容器组中的至少一个容器,这样就使得一个服务可以部署在多个服务器中,退订其中一台服务器,不会影响服务的正常运行,而一台服务器又可以进行多个服务的运行,撤销一个服务,没必要关闭服务器,实现了资源利用率的最大化。

实施例2

请参阅图2,本发明实施例与实施例1的不同之处在于,本发明实施例中,一种应用于容器技术的集成部署方法,还包括以下步骤:

s40,当一个所述服务匹配多个容器时,以该服务对其所匹配的多个所述容器进行整合形成容器组,所述容器组中的多个容器用于运行同一个服务。

这样一来就能够将运行同一个服务的多个容器进行标记,从而方便后续的使用,从而在运行服务时可以多项选择,提升了整体的容错率。

实施例3

请参阅图3,本发明实施例与实施例2的不同之处在于,本发明实施例中,一种应用于容器技术的集成部署方法,还包括以下步骤:

s50,当单个服务器的负载超过预设值而需要对其内所加载的容器进行删除时,核准该服务器内是否加载有隶属于所述容器组的容器,若是,则删除所述隶属于所述容器组的容器,若否,则计算该服务器内所加载的容器的占用空间,删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器。

在单个服务器的负载超过预设值时,为保证服务器的正常运行,则必须要删除其内的容器,这时候根据前述容器组的划分,可以优先删除隶属于容器组的容器,即使容器被删除,由于对应的服务可以由多个容器进行运行,从而不会对服务的使用造成影响;而当该服务器中不包含隶属于容器组的容器时,则删除其中占用空间最大的容器,以结余更多的存储空间,同时被删除的容器转移到其他服务器中,可以在其他服务器中进行对应服务的运行,不会影响服务的使用。

进一步的,所述删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器包括:

s501,统计所述服务器集群中非过载服务器的剩余空间,所述非过载服务器为负载量未超过预设值的服务器;

s502,计算多个所述非过载服务器的剩余空间与待删除容器占用空间之间的差值,同时对差值进行排序;

s503,选择与待删除容器占用空间差值最大的非过载服务器,然后将待删除容器从过载服务中剪切至该非过载服务器中。

这种处理方式的好处在于:能够使得服务器集群中的多个服务器的负载量更为均衡,不会出现某个服务器过载,而其他服务器却处于少载甚至空载的状态,资源分配更为合理。

实施例4

请参阅图4,本发明实施例与实施例3的不同之处在于,本发明实施例中,一种应用于容器技术的集成部署方法,还包括以下步骤:

s60,分析多个所述服务之间的依赖关系,标记具有依赖关系的至少两个服务所对应的至少两个容器,以构建多个所述容器之间的树状图。

构建树状图的好处在于,能够方便地进行关联服务对应容器的操作,也使得服务能够稳定有序的进行。

实施例5

请参阅图5,本发明实施例与实施例4的不同之处在于,本发明实施例中,一种应用于容器技术的集成部署方法,还包括以下步骤:

s70,根据所述多个所述容器之间的树状图对容器进行管理,以对异常进行修复。

实施例6

请参阅图6,本发明实施例中,一种应用于容器技术的集成部署系统,该系统是依据上述方法进行设计的,具体来说,包括:

分析模块,用于根据项目分析所需要的多个服务;

添加模块,用于创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器;

加载模块,用于将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。

进一步的,还包括:

整合模块,用于当一个所述服务匹配多个容器时,以该服务对其所匹配的多个所述容器进行整合形成容器组,所述容器组中的多个容器用于运行同一个服务。

进一步的,还包括:

防过载模块,用于当单个服务器的负载超过预设值而需要对其内所加载的容器进行删除时,核准该服务器内是否加载有隶属于所述容器组的容器,若是,则删除所述隶属于所述容器组的容器,若否,则计算该服务器内所加载的容器的占用空间,删除其中占用空间最大的容器同时将该容器转移至另外一个负载未超过预设值的服务器。

再进一步的,所述防过载模块包括:

统计单元,用于统计所述服务器集群中非过载服务器的剩余空间,所述非过载服务器为负载量未超过预设值的服务器;

计算单元,用于计算多个所述非过载服务器的剩余空间与待删除容器占用空间之间的差值,同时对差值进行排序;

剪切单元,用于选择与待删除容器占用空间差值最大的非过载服务器,然后将待删除容器从负载量超过预设值的服务器中剪切至该非过载服务器中。

进一步的,还包括:

关联模块,用于分析多个所述服务之间的依赖关系,标记具有依赖关系的至少两个服务所对应的至少两个容器,以构建多个所述容器之间的树状图。

进一步的,还包括:

异常管理模块,用于根据所述多个所述容器之间的树状图对容器进行管理,以对异常进行修复。

实施例7

本发明实施例中,一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行如实施例1-3任一所述的方法。

本发明通过根据项目分析所需要的多个服务;创建与所述项目唯一匹配的容器组并根据多个所述服务在容器组内添加容器,以使一个所述服务匹配至少一个容器;将所述容器组加载到服务器集群中,以使所述容器组中的所有容器均有对应匹配的服务器进行运行,所述服务器集群中的单个服务器匹配所述容器组中的至少一个容器。即本发明依据项目进行容器组和服务器集群的部署,对项目所包含的服务进行了集成,从而方便了企业的运营,降低了企业的运营成本。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1