一种对kubernetes集群的应用程序进行异常扫描的方法及系统技术方案

技术编号:33648568 阅读:20 留言:0更新日期:2022-06-02 20:25
本发明专利技术实施例提供一种对kubernetes集群的应用程序进行异常扫描的方法及系统,包括:扫描任务管理器获取对kubernetes集群的应用程序进行异常扫描的扫描任务,检查扫描任务内设置的扫描程序;所述扫描任务的任务类型为内置任务或者自定义任务;当扫描程序通过检查时,通过扫描任务内指定的任务执行器运行扫描程序扫描指定的kubernetes集群的应用程序;扫描结果分析器根据扫描结果确定是否生成修改建议。快速、简单的对kubernetes集群中的所有应用程序进行扫描,检查应用程序可能存在的问题。题。题。

【技术实现步骤摘要】
一种对kubernetes集群的应用程序进行异常扫描的方法及系统


[0001]本专利技术涉及kubernetes集群领域,具体涉及一种对kubernetes集群的应用程序进行异常扫描的方法及系统。

技术介绍

[0002]在业务迁移容器的过程中,需要使用kubernetes编排工具部署容器服务,现实中线上有很多的kubernetes集群,部署了很多的服务,部署了很多的用于支持服务在kubernetes上运行的kubenretes组件,这些服务和kubernetes组件也是应用程序,这些程序不可避免的可能会遇到异常退出的情况,此时就需要一种系统和方法,来检测到这些异常,并给管理人员或者应用的开发者修复建议。现有技术中,只有一些单独针对业务应用程序或者单独针对kuberentes软件本身进行检查的,无法支撑对这些服务和kubernetes组件进行检查的。

技术实现思路

[0003]本专利技术实施例提供一种对kubernetes集群的应用程序进行异常扫描的方法及系统,快速、简单的对kubernetes集群中的所有应用程序进行扫描,检查应用程序可能存在的问题。
[0004]为达上述目的,一方面,本专利技术实施例提供一种对kubernetes集群的应用程序进行异常扫描的方法,包括:
[0005]扫描任务管理器获取对kubernetes集群的应用程序进行异常扫描的扫描任务,检查扫描任务内设置的扫描程序;所述扫描任务的任务类型为内置任务或者自定义任务;其中,所述kubernetes集群的应用程序至少包括如下之一:构建kubernetes集群自身的软件、部署在kubernetes集群的服务、支持服务运行的kubernetes组件、kubernetes集群上的业务应用程序;
[0006]当扫描程序通过检查时,通过扫描任务内指定的任务执行器运行扫描程序扫描指定的kubernetes集群的应用程序;所述通过扫描任务内指定的任务执行器运行扫描程序扫描指定的kubernetes集群的应用程序,具体包括:
[0007]如果扫描任务内的任务类型是内置任务,则运行内置任务对应的内置任务扫描程序,通过内置任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0008]如果扫描任务内的任务类型是自定义任务,则分析自定义任务扫描程序所使用的编程语言;如果自定义任务扫描程序所使用的编程语言是预设语言,则调用响应预设语言的运行环境运行自定义任务扫描程序;通过自定义任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0009]如果自定义任务扫描程序所使用的编程语言是非预设语言,则将自定义任务扫描
程序的代码编译成可识别语言的代码,调用响应可识别语言的运行环境运行编译成可识别语言的自定义任务扫描程序;通过编译成可识别语言的扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0010]扫描结果分析器根据扫描结果确定是否生成修改建议。
[0011]另一方面,本专利技术实施例提供一种对kubernetes集群的应用程序进行异常扫描的系统,包括:
[0012]扫描任务管理器,用于获取对kubernetes集群的应用程序进行异常扫描的扫描任务,检查扫描任务内设置的扫描程序;所述扫描任务的任务类型为内置任务或者自定义任务;其中,所述kubernetes集群的应用程序至少包括如下之一:构建kubernetes集群自身的软件、部署在kubernetes集群的服务、支持服务运行的kubernetes组件、kubernetes集群上的业务应用程序;
[0013]任务执行器,所述任务执行器在扫描任务内已指定,用于当扫描程序通过检查时,运行扫描程序扫描指定的kubernetes集群的应用程序;所述任务执行器具体用于:
[0014]如果扫描任务内的任务类型是内置任务,则运行内置任务对应的内置任务扫描程序,通过内置任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0015]如果扫描任务内的任务类型是自定义任务,则分析自定义任务扫描程序所使用的编程语言;如果自定义任务扫描程序所使用的编程语言是预设语言,则调用响应预设语言的运行环境运行自定义任务扫描程序;通过自定义任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0016]如果自定义任务扫描程序所使用的编程语言是非预设语言,则将自定义任务扫描程序的代码编译成可识别语言的代码,调用响应可识别语言的运行环境运行编译成可识别语言的自定义任务扫描程序;通过编译成可识别语言的扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;
[0017]扫描结果分析器,用于根据扫描结果确定是否生成修改建议。
[0018]上述技术方案具有如下有益效果:快速、简单的对kubernetes集群中的所有应用程序进行扫描,检查应用程序可能存在的问题。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术实施例的一种对kubernetes集群的应用程序进行异常扫描的方法的流程图;
[0021]图2是本专利技术实施例的一种对kubernetes集群的应用程序进行异常扫描的系统的结构图;
[0022]图3是实施例的另一对kubernetes集群的应用程序进行异常扫描的方法的流程图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]如图1所示,结合本专利技术的实施例,提供一种对kubernetes集群的应用程序进行异常扫描的方法,包括:
[0025]S101:扫描任务管理器获取对kubernetes集群的应用程序进行异常扫描的扫描任务,检查扫描任务内设置的扫描程序;所述扫描任务的任务类型为内置任务或者自定义任务;其中,所述kubernetes集群的应用程序至少包括如下之一:构建kubernetes集群自身的软件、部署在kubernetes集群的服务、支持服务运行的kubernetes组件、kubernetes本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对kubernetes集群的应用程序进行异常扫描的方法,其特征在于,包括:扫描任务管理器获取对kubernetes集群的应用程序进行异常扫描的扫描任务,检查扫描任务内设置的扫描程序;所述扫描任务的任务类型为内置任务或者自定义任务;其中,所述kubernetes集群的应用程序至少包括如下之一:构建kubernetes集群自身的软件、部署在kubernetes集群的服务、支持服务运行的kubernetes组件、kubernetes集群上的业务应用程序;当扫描程序通过检查时,通过扫描任务内指定的任务执行器运行扫描程序扫描指定的kubernetes集群的应用程序;所述通过扫描任务内指定的任务执行器运行扫描程序扫描指定的kubernetes集群的应用程序,具体包括:如果扫描任务内的任务类型是内置任务,则运行内置任务对应的内置任务扫描程序,通过内置任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;如果扫描任务内的任务类型是自定义任务,则分析自定义任务扫描程序所使用的编程语言;如果自定义任务扫描程序所使用的编程语言是预设语言,则调用响应预设语言的运行环境运行自定义任务扫描程序;通过自定义任务扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;如果自定义任务扫描程序所使用的编程语言是非预设语言,则将自定义任务扫描程序的代码编译成可识别语言的代码,调用响应可识别语言的运行环境运行编译成可识别语言的自定义任务扫描程序;通过编译成可识别语言的扫描程序扫描指定的kubernetes集群的应用程序,在扫描指定的kubernetes集群的应用程序之后得到扫描结果;扫描结果分析器根据扫描结果确定是否生成修改建议。2.根据权利要求1所述的对kubernetes集群的应用程序进行异常扫描的方法,其特征在于,所述扫描任务管理器获取对kubernetes集群的应用程序进行异常扫描的扫描任务,具体包括:扫描任务管理器自用户交互界面获取所定义的对kubernetes集群的应用程序进行异常扫描的扫描任务,所述用户交互界面用于生成对kubernetes集群的应用程序进行异常扫描的扫描任务、修改对kubernetes集群的应用程序进行异常扫描的扫描任务、删除对kubernetes集群的应用程序进行异常扫描的扫描任务、和/或查询对kubernetes集群的应用程序进行异常扫描的扫描任务;所述扫描任务管理器检查扫描任务内设置的扫描程序,具体包括:如果扫描任务内的任务类型是内置任务,扫描任务管理器检查内置任务对应的内置任务扫描程序的数据是否符合格式;如果扫描任务内的任务类型是自定义任务,扫描任务管理器检查自定义任务扫描程序是否符合预设格式、以及是否符合编程语言的语法规范;如果扫描程序通过检查,则将扫描任务进行保存;如果扫描程序检查失败,则返回检查失败的原因。3.根据权利要求2所述的对kubernetes集群的应用程序进行异常扫描的方法,其特征在于,还包括:各任务执行器在生成时向设于扫描任务存储器内的存储组件注册,注册时声明其自身标签,所述任务执行器标签包括:任务执行器的标识、任务执行器所处区域、任务执行器所
处机房、任务执行器自身硬件资源数量情况;其中,所述扫描任务存储器内包括两个存储组件;所述如果扫描程序通过检查,则将扫描任务进行保存,具体包括:扫描任务存储器获取通过检查的扫描任务,并将通过检查的扫描任务均添加到扫描任务存储器内的两个存储组件;针对存储组件,当存储组件升级时轮流对两个存储组件升级,升级一个存储组件时,另一个存储组件运行并具有存储功能;以及,当存储组件所联系的存储软件实体变更时,两个存储组件轮流适配变更后的存储软件实体的接口或者中间件;其中,存储组件通过接口或者中间件联系存储软件实体。4.根据权利要求3所述的对kubernetes集群的应用程序进行异常扫描的方法,其特征在于,还包括:任务获取器定时自运行的存储组件获取扫描任务,获取扫描任务内的任务执行器所处区域,为扫描任务分配与区域相符的任务执行器,并将所分配的任务执行器标签添加到扫描任务内形成更新的扫描任务;将更新的扫描任务发送到任务分发器,任务分发器自更新的扫描任务分析得到任务执行器标识,任务分发器根据对各任务执行器监控的情况判断扫描任务内的任务执行器是否具备正常运行能力;当扫描任务内的任务执行器具备正常运行能力时,将更新的扫描任务发送到所分配的任务执行器。5.根据权利要求1所述的对kubernetes集群的应用程序进行异常扫描的方法,其特征在于,当存在至少两个完全相同的kubernetes集群时,在扫描任务中设置对完全相同的每个kubernetes集群进行扫描、且为每个kubernetes集群单独设置一个任务执行器;在所述扫描指定的kubernetes集群的应用程序之后得到扫描结果之后,还包括:将扫描结果发送到数据收集器;数据收集器将扫描结果格式化成json格式;将json格式的扫描结果发送到扫描结果分析器;其中,将同一扫描任务的多个任务执行器返回的扫描结果汇总,将汇总的扫描结果格式化成json格式;所述扫描结果分析器根据扫描结果确定是否生成修改建议,具体包括:当存在至少两个完全相同的kubernetes集群时,扫描结果分析器分析json格式内的各扫描结果,如果该json格式内的所有扫描结果一致,则将扫描结果发送给建议生成器,由建议生成器生成修复建议并进行保存用于展示;如果该json格式内的扫描结果不一致,则将扫描结果保存用于展示;当不存在至少两个完全相同的kubernetes集群时,扫描结果分析器将扫描结果发送给建议生成器,由建议生成器生成修...

【专利技术属性】
技术研发人员:王洪磊揭震马超
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

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

1