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

文档序号:9491692阅读:来源:国知局
反馈结果给调用者。
[0189] (5)总控制器模块负载容器云平台的控制指令的处理,包括权限控制和管理控制, 权限控制负责控制访问URL的签名信息验证,管理控制负责向外提供REST风格的API,提供 的API包括获取应用清单、创建应用、删除应用、更新应用实例数量、构建应用镜像、删除应 用镜像及获取应用镜像列表,具体步骤如下:
[0190] ①总控制器模块维护应用签名信息表,结构如下:
[0192] ②进行权限控制:
[0193] A,接收签名信息;签名信息包括下列特征:128位长度,具备唯一性,对应到唯一 的应用,具备时间特性,能够失效,对签名信息具备校验功能;
[0194] B,在应用签名信息表中寻找是否有对应的应用签名信息;
[0195] C,如果找到应用的签名信息,返回成功;如果没有找到应用的签名信息,返回失 败;
[0196] ③进行管理控制:
[0197] A,解析URL请求参数,分析操作的接口;
[0198] B,如果操作类型获取应用清单、创建应用、删除应用、更新应用实例数量、构建应 用镜像、删除应用镜像、获取应用镜像列表,则将URL请求转发至主机容器化引擎;
[0199] C,主机容器引擎进行具体的操作,并将处理结果反馈给主控制器的管理控制模 块;
[0200] D,由主控制器将调用结果返回给调用者。
[0201] (6)应用健康管理服务对应用情况进行监控,如果发现应用的运行状态和预期状 态不一致,则由应用健康管理通知容器化引擎模块进行处理,从而完成应用运行状态的调 整,步骤如下:
[0202] ①应用健康管理模块启动后,启动两个线程,线程1订阅容器化引擎中代理端发 布的心跳消息主题,并负责将心跳消息存储在键值对系统,线程2负责将应用的预期状态 和运行状态进行比对,并告知容器化引擎处理状态差异;
[0203] ②应用健康管理线程1始终监听消息总线,接收到心跳消息后,分析出应用名称、 应用运行实例访问地址、应用运行实例的状态,以键值对的形式存放在键值对系统中;
[0204] ③应用健康管理线程2定时从容器化引擎获取当前应用的预期状态和预期的运 行实例,并同时从键值对系统中获取当前应用的实际运行状态进行比对,判断出和预期状 态的差异,并告知容器化引擎进行处理;
[0205] 其中,所述步骤③的具体步骤如下:
[0206] A、线程2定时从键值对系统中获取应用实际运行状态,获取到的每一个运行状态 时刻作为一个快照;
[0207] B、线程2记录应用实际运行状态的最近三个快照,并对三个快照进行比较,如果 三个快照状态不一致,判断为当前网络不稳定或者正在进行故障转移造成,这种情况下不 进行处理;如果三个快照状态一致,开始判断应用实例实际运行状态和预期状态是否一 致,判断完成后,判断应用的实例数量是否和预期数量一致。
[0208] 其中,所述步骤B中检查运行实例实际运行状态和预期状态是否一致的具体步骤 如下:
[0209] i根据容器化引擎提供的应用实例清单,逐一和键值对系统中记录进行比对,如果 两者记录的运行实例状态不一致,调用容器化引擎的REST API完成状态变更
[0210] i i只比较处于运行和停止状态的应用实例,对处于中间状态的应用不进行处理
[0211] 情况1 :容器化引擎中的记录的实例在键值对系统中没有,线程2通知容器化引擎 新创建一个实例
[0212] 情况2 :容器化引擎中记录的实例在键值对系统中状态不一致,线程2通知容器化 引擎修改实例状态
[0213] 情况3 :容器化引擎中没有记录,但键值对系统中有心跳,线程2通知容器化引擎 移除该实例
[0214] 而且,所述步骤B中判断应用的实例数量是否和预期数量一致的具体步骤如下:
[0215] i获取容器化引擎模块中记录的应用运行数量的期望值,和键值对系统记录的实 例心跳数量进行比较;
[0216] ii只比较处于运行和停止状态的应用,其他状态不处理。
[0217] 两者进行比较存在的可能情况包括:
[0218] 情况1 :如果容器化引擎记录的实例预期数量多于键值对系统记录的实例数量, 告知容器化引擎减少运行实例;
[0219] 情况2 :如果容器化引擎记录的实例预期数量少于键值对系统记录的实例数量, 告知容器化引擎增加运行实例;
[0220] (7)消息总线负责云平台装置的消息通信,各个云平台内部模块通过消息总线进 行连接通信,消息总线提供消息主题的注册和订阅,生产者可以将要发布的消息主题注册 到消息总线上,消费者如果要使用某类消息,在消息总线上订阅该消息主题即可。
【主权项】
1. 一种容器云平台系统的搭建及运行方法,其特征在于:包括步骤如下: (1) 系统的搭建,该系统包括负载均衡器,负载均衡器与容器集群调度模块及总控制器 模块连接,负载均衡器是容器云平台的对外访问入口,负责控制指令和业务指令的访问分 流及访问请求的权限验证,容器集群调度模块与主机容器化引擎模块连接,总控制器模块 与消息总线连接,消息总线与应用健康管理模块连接; 其中,总控制器模块进一步包括权限控制模块和管理控制模块; 其中主机容器化引擎模块进一步包括服务器端、代理端及镜像仓库; (2) 控制指令和业务指令的访问分流,具体步骤如下: ① 对访问U化进行解析,获取到访问的签名信息; ② 将签名信息传递给总控制器模块,由总控制器模块的权限控制模块进行签名信息的 验证,验证结果返回给负载均衡器; ③ 如果验证结果是失败,则负载均衡器给调用者返回失败信息,调用结束;如果验证结 果是成功,则负载均衡器分析访问指令的类型,分析出是控制指令还是业务指令; ④ 如果是控制指令则将U化请求转发给总控制器,由总控制器进行控制指令的处理; ⑥如果是业务指令则将U化请求转发给容器集群调度模块,由容器集群调度模块进行 业务指令的处理; (3) 容器集群调度模块负责访问的反向代理,将访问请求转发至具体的容器,由具体的 容器进行业务处理后返回给容器集群调度模块,由容器集群调度模块返回处理结果给调用 者; 具体步骤如下: ① 建立容器集群调度模块在内存中的动态维护路由表,结构如下:处理步骤为: A,容器集群调度模块启动成功后,向消息总线发布容器集群调度模块启动成功消息; B,主机容器化引擎模块中的代理端订阅容器集群调度模块启动成功消息,接收到消息 后,主机容器化引擎模块中的代理端定时发送屯、跳信息到消息总线,消息总线包含本机运 行的应用实例的具体信息; C,容器集群调度模块服务端订阅该屯、跳消息,接收到主机容器化引擎模块中代理端的 屯、跳消息后,解析出应用名称、应用实例IP地址、应用实例端口; D,如果该应用实例IP地址、应用实例端口在容器集群调度模块内存中维护的路由表 中已经存在,则更新应用实例的最近屯、跳时间; 如果该应用实例IP地址、应用实例端口在容器集群调度模块在内存中维护的路由表 中不存在,则在容器集群调度在内存中维护的路由表新增一条路由记录; ② 根据U化请求,容器集群调度模块解析出访问的应用名称; ③ 根据访问的应用名称,设置的调度策略,从容器集群调度模块中选择出合适的应用 实例进行处理; ④ 将访问请求转给选择的应用实例; ⑥应用实例处理u化请求,完成具体的调用,将调用处理结果返回给容器集群调度模 块; ⑧由容器集群调度模块将调用结果返回给前端调用者; (4) 主机容器化引擎模块负责将主机进行容器化,并对所有的容器进行统筹编排利用, 负责记录和维护当前平台中运行的应用和应用运行实例清单,支撑总控制器模块中管理控 制模块处理控制指令,负责接收总控制器模块转发的指令信息并维护应用和应用运行实例 清单、监控和反馈应用运行实例的状态; 其中,主机容器化引擎模块中的服务器端负责接收总控制器转发的指令信息并转发给 响应的代理端进行处理,服务端接受的控制指令包括获取应用清单、创建应用、删除应用、 更新应用实例数量、构建应用镜像、删除应用镜像、获取应用镜像列表; 其中,主机容器化引擎模块中的镜像仓库负责镜像的存储和下载服务,为服务器端处 理构建应用镜像、删除应用镜像、获取应用镜像列表指令提供支撑; 其中,主机容器化引擎模块中的代理端运行部署在各种云主机、VMWare虚拟机、或者其 它形式的主机上,利用容器技术,在其运行主机上根据服务端转发的消息内容创建运行实 例、删除运行实例、监控运行实例的运行状态,同时,代理端负责反馈运行实例的屯、跳、反馈 所在运行主机的资源状态,代理端创建运行实例时,需要从镜像仓库获取镜像文件W创建 镜像,代理端为服务器端处理获取应用清单、创建应用、删除应用、更新应用的实例数量; (5) 总控制器模块负载容器云平台的控制指令的处理,包括权限控制和管理控制,权限 控制负责控制访问U化的签名信息验证,管理控制负责向外提供REST风格的API,提供的 API包括获取应用清单、创建应用、删除应用、更新应用实例数量、构建应用镜像、删除应用 镜像及获取应用镜像列表,具体步骤内容如下: ① 建立总控制器模块维护应用签名信息表,结构如下:② 进行权限控制: A,接收签名信息;签名信息包括下列特征:128位长度,具备唯一性,对应到唯一的应 用,具备时间特性,能够失效,对签名信息具备校验功能; B,在应用签名信息表中寻找是否有对应的应用签名信息; C,如果找到应用的签名信息,返回成功
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1