[发明专利]支持多注入对象混合编排的混沌工程平台与故障注入方法在审
申请号: | 202310450975.3 | 申请日: | 2023-04-21 |
公开(公告)号: | CN116627689A | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 文世挺;裴琦鑫;庞超逸;汪从敏;范良忠;杨跃平 | 申请(专利权)人: | 浙大宁波理工学院 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/48 |
代理公司: | 宁波市鄞州盛飞专利代理事务所(特殊普通合伙) 33243 | 代理人: | 龙洋 |
地址: | 315100 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 注入 对象 混合 编排 混沌 工程 平台 故障 方法 | ||
本发明公开了支持多注入对象混合编排的混沌工程平台,其在实验模型中设定故障组合与故障组合的编排方式,限定故障组内故障任务的执行顺序与各故障组间的执行顺序,在发起实验请求后,所述任务执行程序根据工作流中故障任务的执行顺序将故障任务转换为故障执行请求并发出,所述ApI服务用于接收任务执行程序发出的故障执行请求并转换为对应的故障模型,并基于故障模型的注入对象向Operator或Chaos Agent发出故障注入请求,所述Chaos Agent接收故障注入请求,并在故障注入请求中的注入对象为待注入对象时,根据故障注入请求中注入对象的类型获取其对应的PID,并向该PID进程安装Agent,通过Agent执行对应的故障模型,其在故障混编的基础上实现了对不同注入对象的故障混合注入。
技术领域
本发明涉及混沌工程领域,尤其涉及支持多注入对象混合编排的混沌工程平台与故障注入方法。
背景技术
阿里巴巴是国内最早探索混沌工程的公司之一,ChaosBlade是阿里巴巴2019年开源的混沌工程项目,旨在通过混沌工程帮助企业解决云原生过程中的高可用问题。ChaosBlade提供丰富的故障注入能力,例如内存、CPU、磁盘、网络等资源故障,也提供代码级别故障如Java和C++。ChaosMesh是一款优秀的开源的混沌工程平台,支持的故障种类比较丰富,但缺点是对实验对象不够完善,并且对于Kubernetes对象和主机对象进行了不同的实验,难以实现两种对象的混合故障编排。现有的混沌工程技术虽然提供了故障编排,但不具备将单机或者云原生应用同时编排,难以应对当前异构的互联网环境,另一部分则使用场景有限,如限制应用部署方式、只支持故障注入,使用流程较为复杂。
发明内容
为了实现对多种注入对象的混合故障编排,本发明提出了一种支持多注入对象混合编排的混沌工程平台,所述混沌工程平台包括:
管理平台,用于设置实验模型与故障任务并发起实验请求,所述实验模型中包括故障组合与故障组合编排方式的设定,所述故障组合中包括一个或多个故障组,一个故障组中包括一个故障任务或多个故障任务;所述故障任务用于设定注入对象与故障参数;所述编排方式为:故障组内的故障任务串行执行、各故障组间串行执行,或故障组内的故障任务串行执行、各故障组间并行执行;
调度平台,用于接收实验请求,其包括调度程序与任务执行程序;所述调度程序用于根据故障组合的编排方式生成工作流,所述工作流即故障任务的执行顺序;所述任务执行程序用于在接收到实验请求后根据工作流中故障任务的执行顺序将故障任务转换为故障执行请求并发出;
故障注入平台,用于设定注入对象模型,所述注入对象模型用于设定注入对象并设定待注入对象的选择方式;所述选择方式包括从设定的注入对象中随机选择待注入对象、选择所有设定的注入对象为待注入对象、设定预设百分比的设定注入对象为待注入对象;所述故障注入平台包括ApI服务、Operator与Chaos Agent;所述ApI服务用于接收任务执行程序发出的故障执行请求并转换为对应的故障模型,并基于故障模型的注入对象向Operator或Chaos Agent发出该故障模型对应的故障注入请求;所述Operator用于接收故障注入请求并转发至Chaos Agent;所述Chaos Agent用于接收ApI服务与Operator发出的故障注入请求,并在故障注入请求中的注入对象为待注入对象时,根据故障注入请求中注入对象的类型获取其对应的PID,并向该PID进程安装Agent,通过Agent执行对应的故障模型。
进一步地,所述注入对象的类型包括单机与Kubernetes集群;所述单机包括单机进程与单机容器;所述Kubernetes集群包括pod、node、pod容器,所述Kubernetes集群由运行容器化应用程序的一组node组成,所述Pod包括一个或多个pod容器,所述Pod运行在node上。
进一步地,所述故障注入平台中,所述故障模型的注入对象为pod、node或pod容器时,所述ApI服务向Operator发出故障模型对应的故障注入请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙大宁波理工学院,未经浙大宁波理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310450975.3/2.html,转载请声明来源钻瓜专利网。