[发明专利]一种基于轻量化容器的云服务动态调度方法及系统有效
申请号: | 202011134587.7 | 申请日: | 2020-10-21 |
公开(公告)号: | CN112199178B | 公开(公告)日: | 2022-12-16 |
发明(设计)人: | 刘遥;杨军;徐亮亮;张鑫一;刘若斌;王俊杰 | 申请(专利权)人: | 中国电子科技集团公司第十五研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 崔玥 |
地址: | 100083 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 量化 容器 服务 动态 调度 方法 系统 | ||
1.一种基于轻量化容器的云服务动态调度方法,其特征在于,所述方法包括:
步骤S1:主节点根据各计算节点收集的状态信息判断各计算节点是否为离线状态;如果各计算节点为离线状态,则主节点不给离线状态的计算节点分配任务;如果各计算节点不为离线状态,则执行“步骤S2”;
步骤S2:主节点根据用户发出的任务需求生成预案,并将预案写入etcd数据库中,并覆盖上一次生成的预案;
步骤S3:各计算节点判断预案中的ip是否与自身的ip相同;如果相同,则执行“步骤S4”;如果不相同,则各计算节点无需操作;
步骤S4:计算节点利用自身的docker服务创建容器,并判断容器是否创建成功;如果容器创建失败,则执行“步骤S6”;如果容器创建成功,则执行步骤S5;
步骤S5:判断容器是否启动成功;如果容器启动成功,则说明容器服务正常;如果容器启动失败,则执行“步骤S7”;
步骤S6:计算节点记录创建失败次数,并判断创建失败次数是否大于或等于设定创建失败次数;如果创建失败次数大于或等于设定创建失败次数,则计算节点将预案改成“重新部署”状态,并写入etcd数据库;如果创建失败次数小于设定创建失败次数,则返回“步骤S4”;
步骤S7:计算节点记录重启失败次数,并判断重启失败次数是否大于或等于设定重启失败次数;如果重启失败次数大于或等于设定重启失败次数,则计算节点将预案改成“重新部署”状态,并写入etcd数据库;如果重启失败次数小于设定失败次数,则增加重启延时时间,并根据所述重启延时时间重新启动容器,并返回“步骤S5”;
步骤S8:主节点检测到预案为“重新部署”状态时,则返回“步骤S2”;
步骤S9:用户访问服务正常容器内的服务。
2.根据权利要求1所述的基于轻量化容器的云服务动态调度方法,其特征在于,所述方法还包括:
当计算节点监测到上一次生成的预案被覆盖后,则计算节点删除根据上一次预案对应的容器。
3.根据权利要求1所述的基于轻量化容器的云服务动态调度方法,其特征在于,所述主节点和所述计算节点分别部署在不同的机器上。
4.根据权利要求1所述的基于轻量化容器的云服务动态调度方法,其特征在于,步骤S1具体包括:
步骤S11:各计算节点收集状态信息,并将状态信息定时上报给主节点;所述状态信息包括计算节点的CPU、内存和品牌;
步骤S12:主节点根据收集的各计算节点对应的状态信息进行更新内存;
步骤S13:主节点根据内存的状态信息对所有计算节点进行筛选,判断各计算节点是否大于设定时间没有更新状态信息;如果各计算节点大于设定时间没有更新状态信息,则将大于设定时间没有更新状态信息的各计算节点标记为离线状态,主节点在分配任务时,不给离线状态的计算节点分配任务;否则执行步骤S2。
5.根据权利要求1所述的基于轻量化容器的云服务动态调度方法,其特征在于,步骤S2具体包括:
步骤S21:主节点接收到用户发出的任务部署请求时,按照任务需求对所有正常状态的计算节点进行筛选和计算,选取资源占用率最低的计算节点;所述任务需求包括所需CPU、内存、硬盘大小以及硬件架构;
步骤S22:主节点根据任务需求和筛选后的计算节点生成预案,并将预案写入etcd数据库中,并覆盖上一次生成的预案。
6.根据权利要求1所述的基于轻量化容器的云服务动态调度方法,其特征在于,所述方法还包括:
当主节点接收到计算节点上传异常状态时,主节点不给异常状态的计算节点分配任务,同时返回“步骤S2”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第十五研究所,未经中国电子科技集团公司第十五研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011134587.7/1.html,转载请声明来源钻瓜专利网。