[发明专利]一种基于容器的集群管理方法及系统有效
申请号: | 202011343502.6 | 申请日: | 2020-11-25 |
公开(公告)号: | CN112486513B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 陈俊;彭勇;申锟铠;刘文清;杨涛 | 申请(专利权)人: | 湖南麒麟信安科技股份有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/65 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 刘畅舟 |
地址: | 410000 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 容器 集群 管理 方法 系统 | ||
1.一种基于容器的集群管理方法,其特征在于,包括以下步骤:
S1)在三个预设的物理节点上部署mongo集群,所述mongo集群采用一主两备的模式运行,在mongo集群各节点运行容器管理服务,所述容器管理服务由golang作为后端语言;
S2)向mongo集群的数据库上传任务软件包,解压任务软件包得到容器描述文件以及容器镜像并保存,若升级集群节点,跳转步骤S3;若删除集群节点,跳转步骤S4;若增加集群节点,跳转步骤S5;
S3)对mongo集群各节点发送对应的容器描述文件,mongo集群各节点的容器管理服务根据容器描述文件下载对应容器镜像,各节点停止原有容器并启动所下载的容器,结束并退出,具体包括以下步骤:
S31)获取mongo集群中的所有节点的状态,若各个节点都为健康状态则进入下一步,否则结束并退出;
S32)判断任务软件包的版本是否符合需求,若任务软件包的版本大于各节点容器的版本则进入下一步,否则结束并退出;
S33)对mongo集群各节点发送对应的容器描述文件,然后通过多线程的方式给各个节点发送升级请求,等待各个节点的升级执行结果;
S34)各节点收取升级请求,各节点的容器管理服务根据容器描述文件下载对应容器镜像,下载完成后各节点停止原有容器并启动所下载的容器,返回升级完成的执行结果,若下载失败,返回升级未完成的执行结果;
S35)获取各个节点的升级结果,若均为升级完成的执行结果,返回一个http响应作为集群节点升级结果通知升级成功;
S4)将除mongo集群主节点以外的待删除节点从mongo集群中移除,派发删除容器的描述文件任务给待删除节点,待删除节点的容器管理服务根据删除容器的描述文件任务将容器删除,结束并退出,具体包括以下步骤:
S41)检查mongo集群各个节点数目以及状态是否能够进行删除节点操作,若各个节点状态均为健康且节点数目大于第一阈值则进入下一步,否则结束并退出;
S42)检查待删除节点是否为mongo集群主节点,是则将待删除节点进行降备操作后修改配置项将待删除节点从mongo集群中移除,否则直接修改配置项将待删除节点从mongo集群中移除;
S43)派发删除容器的描述文件任务给待删除节点,等待任务执行结果;
S44)待删除节点的容器管理服务根据删除容器的描述文件任务将容器删除,返回任务执行结果;
S5)针对处于活跃状态的待增加节点派发对应的容器描述文件,待增加节点的容器管理服务根据容器描述文件启动容器,容器启动成功后将待增加节点添加到mongo集群中,具体包括以下步骤:
S51)判断mongo集群各个节点数目以及状态是否符合增加节点状态,若各个节点状态均为健康且节点数目小于第二阈值则进入下一步,否则结束并退出;
S52)检查待增加节点心跳服务是否启动,是则进入下一步,否则取消增加节点操作;
S53)若任务软件包符合版本的需求,派发容器描述文件给待增加节点;
S54)待增加节点的容器管理服务根据容器描述文件下载容器镜像,待增加节点启动容器,返回启动执行结果;
S55)若启动成功则进入下一步,若启动失败则返回相应错误;
S56)持续嗅探待增加节点容器启动状态,预设时间内嗅探到容器启动成功则将待增加节点添加到mongo集群,将待增加节点添加到mongo集群的具体步骤包括:修改配置文件,增加members成员为待增加节点;应用配置文件,并检查是否添加成功。
2.根据权利要求1所述的基于容器的集群管理方法,其特征在于,步骤S2)中向mongo集群的数据库上传任务软件包,解压任务软件包得到容器描述文件以及容器镜像并保存具体包括:首先读取任务软件包的版本信息,校验文件格式是否正确,若正确则读取任务软件包的文件流,采用流式的解压方式对任务软件包进行解压,将任务软件包中的容器描述文件以及容器镜像上传到mongo集群的数据库的GridFS中,通过各个文件的md5值来进行索引文件。
3.根据权利要求1所述的基于容器的集群管理方法,其特征在于,步骤S2)还包括删除任务软件包的步骤,具体包括:触发删除事件,删除软件包的记录信息;对mongo集群的数据库中所有文件与剩余软件包信息进行匹配,删除不存在匹配结果的文件。
4.一种基于容器的集群管理系统,包括计算机设备,其特征在于,所述计算机设备被编程或配置以执行权利要求1~3任一所述的基于容器的集群管理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南麒麟信安科技股份有限公司,未经湖南麒麟信安科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011343502.6/1.html,转载请声明来源钻瓜专利网。