一种容器云平台系统的搭建及运行方法技术方案

技术编号:12698045 阅读:110 留言:0更新日期:2016-01-13 17:05
本发明专利技术涉及一种容器云平台系统的搭建及运行方法,步骤包括:(1)系统的搭建,(2)控制指令和业务指令的访问分流,(3)容器集群调度模块将访问请求转发至具体的容器,由具体的容器进行业务处理后返回给容器集群调度模块,然后返回处理结果给调用者,(4)主机容器化引擎模块将主机进行容器化,记录和维护当前平台中运行的应用和应用运行实例清单,支撑处理控制指令,转发指令信息,监控和反馈应用运行实例的状态,(5)总控制器模块实现容器云平台的控制指令的处理,(6)应用健康管理模块对应用情况进行监控,(7)消息总线进行云平台装置的消息通信。本发明专利技术将各个第三方应用以容器为单元进行依赖项的打包运行,相互之间隔离运行,不互相干扰,更加充分的利用主机的系统资源。

【技术实现步骤摘要】
一种容器云平台系统的搭建及运行方法
本专利技术属于云平台
,尤其是一种容器云平台系统的搭建及运行方法。
技术介绍
云Pass平台是一个基于云计算技术建立的IT资源池和公有云服务运营支撑平台。第三方软件开发商可在云Pass平台上快速开发部署应用产品并向最终用户提供服务,最终客户可在此平台上按需得到丰富的、安全的、高可靠性的应用服务。传统的云Pass平台通常采用虚拟机实现不同软件开发商应用的隔离,并将虚拟机作为调度的最小单元。采用虚拟机作为调度的最小单元存在很多问题,包括启动时间长、占用系统资源多、镜像存储文件大、运行实例的迁移调整耗时。容器技术是通过虚拟化操作系统的方式来管理代码和应用程序,是在2013年才开始出现并迅速兴起的一种虚拟化技术,容器技术主要是由一些技术型创新企业设计开发的,比如:BlueData、CoreOS、Docker、Kismatic、PortWorx等等,其中,Docker是容器技术的主要代表之一。容器技术使得可以将更多的计算工作负载塞入到一台服务器上,并且可以在一瞬间为新的计算任务提高增加容量。从理论上来说,这意味着可以购买较少的硬件,自建或租赁较少的数据中心场地,并且雇用较少的人手来管理这些设备。每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。为了能达到这种效果,容器技术使用了一系列的系统级别机制,诸如利用Linuxnamespaces来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,通过cgroups来确定每个容器可以利用多少资源。此外容器之间共享同一个系统内核,这样当同一个库被多个容器使用时,内存的使用效率会得到提升。Linux容器技术的发展为解决传统的云Pass平台的痛点提供了可能。本专利申请就是利用容器技术实现的一种容器云平台装置及方法,该装置及方法以解决传统云Pass平台的痛点。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种容器云平台系统的搭建及运行方法。本专利技术解决其技术问题是采取以下技术方案实现的:一种容器云平台系统的搭建及运行方法,包括步骤如下:(1)系统的搭建,该系统包括负载均衡器,负载均衡器与容器集群调度模块及总控制器模块连接,负载均衡器是容器云平台的对外访问入口,负责控制指令和业务指令的访问分流及URL请求的权限验证,容器集群调度模块与主机容器化引擎模块连接,总控制器模块与消息总线连接,消息总线与应用健康管理模块连接;其中,总控制器模块进一步包括权限控制模块和管理控制模块;其中主机容器化引擎模块进一步包括服务器端、代理端及镜像仓库;(2)控制指令和业务指令的访问分流,具体步骤如下:①对URL请求进行解析,获取到访问的签名信息;②将签名信息传递给总控制器模块,由总控制器模块的权限控制模块进行签名信息的验证,验证结果返回给负载均衡器;③如果验证结果是失败,则负载均衡器给调用者返回失败信息,调用结束;如果验证结果是成功,则负载均衡器分析访问指令的类型,分析出是控制指令还是业务指令;④如果是控制指令则将URL请求转发给总控制器模块,由总控制器模块进行控制指令的处理;⑤如果是业务指令则将URL请求转发给容器集群调度模块,由容器集群调度模块进行业务指令的处理;(3)容器集群调度模块负责访问的反向代理,将URL请求转发至具体的容器,由具体的容器进行业务处理后返回给容器集群调度模块,由容器集群调度模块返回处理结果给调用者;具体步骤如下:①在内存中建立由容器集群调度模块动态维护的路由表,结构如下:处理步骤为:A,容器集群调度模块启动成功后,向消息总线发布容器集群调度模块启动成功消息;B,主机容器化引擎模块中的代理端订阅容器集群调度模块启动成功消息,接收到消息后,主机容器化引擎模块中的代理端定时发送心跳消息到消息总线,消息总线包含本机运行的运行实例的具体信息;C,容器集群调度模块订阅该心跳消息,接收到主机容器化引擎模块中代理端的心跳消息后,解析出应用名称、运行实例IP地址、运行实例端口;D,如果该运行实例IP地址、运行实例端口在由容器集群调度模块动态维护的路由表中已经存在,则更新运行实例的最近心跳时间;如果该运行实例IP地址、运行实例端口在由容器集群调度模块动态维护的路由表中不存在,则在由容器集群调度模块动态维护的路由表中新增一条路由记录;②根据URL请求,容器集群调度模块解析出访问的应用名称;③根据访问的应用名称,设置的调度策略,从容器集群调度模块中选择出合适的运行实例进行处理;④将URL请求转给选择的运行实例;⑤运行实例处理URL请求,完成具体的调用,将处理结果返回给容器集群调度模块;⑥由容器集群调度模块将处理结果返回给前端调用者;(4)主机容器化引擎模块负责将主机进行容器化,并对所有的容器进行统筹编排利用,负责记录和维护当前平台中运行的应用和运行实例清单,支撑总控制器模块中管理控制模块处理控制指令,负责接收总控制器模块转发的指令信息并维护应用和运行实例清单、监控和反馈运行实例的状态;其中,主机容器化引擎模块中的服务器端负责接收总控制器模块转发的指令信息并转发给响应的代理端进行处理,主机容器化引擎模块中的服务器端接收的控制指令包括获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表;其中,主机容器化引擎模块中的镜像仓库负责镜像的存储和下载服务,为主机容器化引擎模块中的服务器端处理构建应用镜像、删除应用镜像、获取应用镜像列表指令提供支撑;其中,主机容器化引擎模块中的代理端运行部署在各种云主机、VMWare虚拟机上,利用容器技术,在其运行主机上根据主机容器化引擎模块中的服务器端转发的消息内容创建运行实例、删除运行实例、监控运行实例的运行状态,同时,主机容器化引擎模块中的代理端负责反馈运行实例的心跳、反馈所在运行主机的资源状态,主机容器化引擎模块中的代理端创建运行实例时,需要从镜像仓库获取镜像文件以创建镜像;主机容器化引擎模块中的代理端支撑主机容器化引擎模块中的服务器端,为服务器端获取应用清单、创建应用、删除应用以及更新应用的实例数量;(5)总控制器模块负责容器云平台的控制指令的处理,包括权限控制和管理控制,权限控制负责控制URL请求的签名信息验证,管理控制负责向外提供REST风格的API,提供的API包括获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表,具体步骤内容如下:①建立总控制器模块维护应用签名信息表,结构如下:应用名称签名信息②进行权限控制:A,接收签名信息;签名信息包括下列特征:128位长度,具备唯一性,对应到唯一的应用,具备时间特性,能够失效,具备校验功能;B,在应用签名信息表中寻找是否有对应的应用签名信息;C,如果找到应用的签名信息,返回成功;如果没有找到应用的签名信息,返回失败;③进行管理控制:A,解析URL请求参数,分析操作的接口;B,如果操作的接口是获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表,则将URL请求转发至主机容器化引擎模块;C,主机容器化引擎模块进行操作,并将处理结果反馈给总控制器模块的管理控制模块;D,由总控制器模块将处理本文档来自技高网
...
一种容器云平台系统的搭建及运行方法

【技术保护点】
一种容器云平台系统的搭建及运行方法,其特征在于:包括步骤如下:(1)系统的搭建,该系统包括负载均衡器,负载均衡器与容器集群调度模块及总控制器模块连接,负载均衡器是容器云平台的对外访问入口,负责控制指令和业务指令的访问分流及访问请求的权限验证,容器集群调度模块与主机容器化引擎模块连接,总控制器模块与消息总线连接,消息总线与应用健康管理模块连接;其中,总控制器模块进一步包括权限控制模块和管理控制模块;其中主机容器化引擎模块进一步包括服务器端、代理端及镜像仓库;(2)控制指令和业务指令的访问分流,具体步骤如下:①对访问URL进行解析,获取到访问的签名信息;②将签名信息传递给总控制器模块,由总控制器模块的权限控制模块进行签名信息的验证,验证结果返回给负载均衡器;③如果验证结果是失败,则负载均衡器给调用者返回失败信息,调用结束;如果验证结果是成功,则负载均衡器分析访问指令的类型,分析出是控制指令还是业务指令;④如果是控制指令则将URL请求转发给总控制器,由总控制器进行控制指令的处理;⑤如果是业务指令则将URL请求转发给容器集群调度模块,由容器集群调度模块进行业务指令的处理;(3)容器集群调度模块负责访问的反向代理,将访问请求转发至具体的容器,由具体的容器进行业务处理后返回给容器集群调度模块,由容器集群调度模块返回处理结果给调用者;具体步骤如下:①建立容器集群调度模块在内存中的动态维护路由表,结构如下:处理步骤为:A,容器集群调度模块启动成功后,向消息总线发布容器集群调度模块启动成功消息;B,主机容器化引擎模块中的代理端订阅容器集群调度模块启动成功消息,接收到消息后,主机容器化引擎模块中的代理端定时发送心跳信息到消息总线,消息总线包含本机运行的应用实例的具体信息;C,容器集群调度模块服务端订阅该心跳消息,接收到主机容器化引擎模块中代理端的心跳消息后,解析出应用名称、应用实例IP地址、应用实例端口;D,如果该应用实例IP地址、应用实例端口在容器集群调度模块内存中维护的路由表中已经存在,则更新应用实例的最近心跳时间;如果该应用实例IP地址、应用实例端口在容器集群调度模块在内存中维护的路由表中不存在,则在容器集群调度在内存中维护的路由表新增一条路由记录;②根据URL请求,容器集群调度模块解析出访问的应用名称;③根据访问的应用名称,设置的调度策略,从容器集群调度模块中选择出合适的应用实例进行处理;④将访问请求转给选择的应用实例;⑤应用实例处理URL请求,完成具体的调用,将调用处理结果返回给容器集群调度模块;⑥由容器集群调度模块将调用结果返回给前端调用者;(4)主机容器化引擎模块负责将主机进行容器化,并对所有的容器进行统筹编排利用,负责记录和维护当前平台中运行的应用和应用运行实例清单,支撑总控制器模块中管理控制模块处理控制指令,负责接收总控制器模块转发的指令信息并维护应用和应用运行实例清单、监控和反馈应用运行实例的状态;其中,主机容器化引擎模块中的服务器端负责接收总控制器转发的指令信息并转发给响应的代理端进行处理,服务端接受的控制指令包括获取应用清单、创建应用、删除应用、更新应用实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表;其中,主机容器化引擎模块中的镜像仓库负责镜像的存储和下载服务,为服务器端处理构建应用镜像、删除应用镜像、获取应用镜像列表指令提供支撑;其中,主机容器化引擎模块中的代理端运行部署在各种云主机、VMWare虚拟机、或者其它形式的主机上,利用容器技术,在其运行主机上根据服务端转发的消息内容创建运行实例、删除运行实例、监控运行实例的运行状态,同时,代理端负责反馈运行实例的心跳、反馈所在运行主机的资源状态,代理端创建运行实例时,需要从镜像仓库获取镜像文件以创建镜像,代理端为服务器端处理获取应用清单、创建应用、删除应用、更新应用的实例数量;(5)总控制器模块负载容器云平台的控制指令的处理,包括权限控制和管理控制,权限控制负责控制访问URL的签名信息验证,管理控制负责向外提供REST风格的API,提供的API包括获取应用清单、创建应用、删除应用、更新应用实例数量、构建应用镜像、删除应用镜像及获取应用镜像列表,具体步骤内容如下:①建立总控制器模块维护应用签名信息表,结构如下:应用名称签名信息②进行权限控制:A,接收签名信息;签名信息包括下列特征:128位长度,具备唯一性,对应到唯一的应用,具备时间特性,能够失效,对签名信息具备校验功能;B,在应用签名信息表中寻找是否有对应的应用签名信息;C,如果找到应用的签名信息,返回成功;如果没有找到应用的签名信息,返回失败;③进行管理控制:A,解析URL请求参数,分析操作的接口;B,如果操作类型获取应用清单、创建应用、删除应用、更新应用实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表,则将U...

【技术特征摘要】
1.一种容器云平台系统的搭建及运行方法,其特征在于:包括步骤如下:(1)系统的搭建,该系统包括负载均衡器,负载均衡器与容器集群调度模块及总控制器模块连接,负载均衡器是容器云平台的对外访问入口,负责控制指令和业务指令的访问分流及URL请求的权限验证,容器集群调度模块与主机容器化引擎模块连接,总控制器模块与消息总线连接,消息总线与应用健康管理模块连接;其中,总控制器模块进一步包括权限控制模块和管理控制模块;其中主机容器化引擎模块进一步包括服务器端、代理端及镜像仓库;(2)控制指令和业务指令的访问分流,具体步骤如下:①对URL请求进行解析,获取到访问的签名信息;②将签名信息传递给总控制器模块,由总控制器模块的权限控制模块进行签名信息的验证,验证结果返回给负载均衡器;③如果验证结果是失败,则负载均衡器给调用者返回失败信息,调用结束;如果验证结果是成功,则负载均衡器分析访问指令的类型,分析出是控制指令还是业务指令;④如果是控制指令则将URL请求转发给总控制器模块,由总控制器模块进行控制指令的处理;⑤如果是业务指令则将URL请求转发给容器集群调度模块,由容器集群调度模块进行业务指令的处理;(3)容器集群调度模块负责访问的反向代理,将URL请求转发至具体的容器,由具体的容器进行业务处理后返回给容器集群调度模块,由容器集群调度模块返回处理结果给调用者;具体步骤如下:①在内存中建立由容器集群调度模块动态维护的路由表,结构如下:处理步骤为:A,容器集群调度模块启动成功后,向消息总线发布容器集群调度模块启动成功消息;B,主机容器化引擎模块中的代理端订阅容器集群调度模块启动成功消息,接收到消息后,主机容器化引擎模块中的代理端定时发送心跳消息到消息总线,消息总线包含本机运行的运行实例的具体信息;C,容器集群调度模块订阅该心跳消息,接收到主机容器化引擎模块中代理端的心跳消息后,解析出应用名称、运行实例IP地址、运行实例端口;D,如果该运行实例IP地址、运行实例端口在由容器集群调度模块动态维护的路由表中已经存在,则更新运行实例的最近心跳时间;如果该运行实例IP地址、运行实例端口在由容器集群调度模块动态维护的路由表中不存在,则在由容器集群调度模块动态维护的路由表中新增一条路由记录;②根据URL请求,容器集群调度模块解析出访问的应用名称;③根据访问的应用名称,设置的调度策略,从容器集群调度模块中选择出合适的运行实例进行处理;④将URL请求转给选择的运行实例;⑤运行实例处理URL请求,完成具体的调用,将处理结果返回给容器集群调度模块;⑥由容器集群调度模块将处理结果返回给前端调用者;(4)主机容器化引擎模块负责将主机进行容器化,并对所有的容器进行统筹编排利用,负责记录和维护当前平台中运行的应用和运行实例清单,支撑总控制器模块中管理控制模块处理控制指令,负责接收总控制器模块转发的指令信息并维护应用和运行实例清单、监控和反馈运行实例的状态;其中,主机容器化引擎模块中的服务器端负责接收总控制器模块转发的指令信息并转发给响应的代理端进行处理,主机容器化引擎模块中的服务器端接收的控制指令包括获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表;其中,主机容器化引擎模块中的镜像仓库负责镜像的存储和下载服务,为主机容器化引擎模块中的服务器端处理构建应用镜像、删除应用镜像、获取应用镜像列表指令提供支撑;其中,主机容器化引擎模块中的代理端运行部署在各种云主机、VMWare虚拟机上,利用容器技术,在其运行主机上根据主机容器化引擎模块中的服务器端转发的消息内容创建运行实例、删除运行实例、监控运行实例的运行状态,同时,主机容器化引擎模块中的代理端负责反馈运行实例的心跳、反馈所在运行主机的资源状态,主机容器化引擎模块中的代理端创建运行实例时,需要从镜像仓库获取镜像文件以创建镜像;主机容器化引擎模块中的代理端支撑主机容器化引擎模块中的服务器端,为服务器端获取应用清单、创建应用、删除应用以及更新应用的实例数量;(5)总控制器模块负责容器云平台的控制指令的处理,包括权限控制和管理控制,权限控制负责控制URL请求的签名信息验证,管理控制负责向外提供REST风格的API,提供的API包括获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表,具体步骤内容如下:①建立总控制器模块维护应用签名信息表,结构如下:应用名称签名信息②进行权限控制:A,接收签名信息;签名信息包括下列特征:128位长度,具备唯一性,对应到唯一的应用,具备时间特性,能够失效,具备校验功能;B,在应用签名信息表中寻找是否有对应的应用签名信息;C,如果找到应用的签名信息,返回成功;如果没有找到应用的签名信息,返回失败;③进行管理控制:A,解析URL请求参数,分析操作的接口;B,如果操作的接口是获取应用清单、创建应用、删除应用、更新运行实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表,则将URL请求转发至主机容器化引擎模块;C,主机容器化引擎模块进行操作,并将处理结果反馈给总控制器模块的管理控制模块;D,由总控制器模块将处理结果返回给调用者。(6)应用健康管理模块对应用情况进行监控,如果发现应用的运行状态和预期状态不一致,则由应用健康管理模块通知主机容器化引擎模块进行处理,从而完成应用运行状态的调整,步骤内容如下:应用健康管理模块启动后,启动两个线程,线程1订阅主机容器化引擎模块中代理端发布的心跳消息主题,并负责将心跳消息存储在键值对系统,线程2负责将应用的预期状态和运行状态进行比对,并告知主机容器化引擎模块处理状态差异。两个线程的功能如下:应用健康管理模块线程1始终监听消息总线,接收到心跳消息后,分析出应用名称、运行实例访问地址、运行实例的状态,以键值对的形式存放在键值对系统中;应用健康管理模块线程2定时从主机容器化引擎模块获取当前应用的预期状态和预期的运行实例,并同时从键值对系统中获取当前应用的实际运行状态进行比对,判断出和预期状态的差异,并告知主机容器化引擎模块进行处理;(7)消息总线负责容器云平台系统的消息通信,容器云平台系统的内部模块通过消息总线进行连接通信,消息总线提供消息主题的注册和订阅,生产者可以将要发布的消息主题注册到消息总线上,消费者如果要使用某类消息,在消息总线上订阅该消息主题即可。2.根据权利要求1所述的容器云平台系统的搭建及运行方法,其特征在于:所述步骤(3)中①步的在内存中建立由容器集群调度模块动态维护的路由表,所述路由表的内容描述为:应用名称是部署在容器中的应用的名称,一个应用对应一个或多个运行实例,并由运行实例提供具体的处理;调度策略为负载调度的处理策略,该调度策略支持的负载策略包括轮询、加权、哈希及默认策略;运行实例IP地址是访问容器应用时所使用的IP地址;...

【专利技术属性】
技术研发人员:高勇张海涛胡晓楠纪姗姗
申请(专利权)人:天津市普迅电力信息技术有限公司
类型:发明
国别省市:天津;12

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

1