本公开涉及云原生,具体涉及一种针对流式数据处理的弹性扩缩容方法及装置。
背景技术:
1、在kubernetes(云原生操作系统)中,存储的类型多种多样,根据业务的应用场景可以选择使用不同的存储类型。在运行时,还可以根据当前存储空间的剩余量,通过技术人员介入进行相关存储的扩容,这就增加了人员的管理和使用成本的投入,且对人员的技术和相关经验有较高的要求。
2、目前的kubernetes平台中,metrics api只提供了一组基本的指标,以反映有关节点和pod的资源使用情况的信息,包括cpu使用率和内存占用率这两种指标;再通过这两种指标基于kubernetes自有的扩缩容hpa(horizontal pod autoscaler,水平扩展)技术实现自动扩缩容。
3、由于hpa技术实现扩缩容是偏通用化弹性扩缩容,其主要基于cpu使用率和内存占用率这两种指标对指定deployment做扩缩容;因此在很多自定义场景中,面对自定义资源,若是仅通过kubernetes自有的两个指标对自定义资源的监测,往往无法全面的反映当前kubernetes平台的运行状态,进而影响kubernetes平台的扩缩容效率,导致业务处理的效率不高。
技术实现思路
1、有鉴于此,本技术实施例提供了一种针对流式数据处理的弹性扩缩容方法及装置,可用于在kubernetes平台中处理流式数据业务时,提高业务处理的效率。
2、第一方面,本技术实施例提供了一种针对流式数据处理的弹性扩缩容方法,部署于kubernetes平台中,所述方法包括:
3、监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值;所述指标参数集合中包括至少一个关于流式数据任务的自定义指标;
4、基于所述各个指标对应的参数值,结合预设告警规则生成告警消息;
5、响应于所述告警消息,对所述各个指标对应的参数值进行分析,以生成目标资源的配置信息;所述目标资源为基于自定义资源定义crd创建的自定义资源;
6、基于所述目标资源的配置信息,对所述目标资源对应的deployment进行扩缩容。
7、作为本技术实施例一种可选的实施方式,所述告警消息包括第一告警消息和第二告警消息,所述第一告警消息用于指示扩容的信息;所述第二告警消息用于指示缩容的信息,所述响应于所述告警消息。
8、作为本技术实施例一种可选的实施方式,所述对所述各个指标对应的参数值进行分析,以生成目标资源的配置信息,包括:
9、当所述各个指标中的任一个对应的参数值大于等于对应的第一预设阈值,则通过所述告警规则生成第一告警消息;
10、当所述各个指标中的任一个对应的参数值小于等于对应的第二预设阈值,则通过所述告警规则生成第二告警消息;
11、响应于所述第一告警消息或所述第二告警消息,并基于所述各个指标对应的参数值进行分析,生成所述目标资源的配置信息。
12、作为本技术实施例一种可选的实施方式,在监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值之前,所述方法还包括:
13、通过operator架构,在kubernetes平台中创建所述目标资源。
14、作为本技术实施例一种可选的实施方式,所述基于所述目标资源的配置信息,对所述目标资源对应的deployment进行扩缩容,包括:
15、当所述目标资源的配置信息为资源配置新增信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行扩容;
16、当所述目标资源的配置信息为资源配置减少信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行缩容。
17、作为本技术实施例一种可选的实施方式,所述基于所述目标资源的配置信息,对所述目标资源对应的deployment进行扩缩容,包括:
18、当所述目标资源的配置信息为资源配置新增信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行扩容;
19、当所述目标资源的配置信息为资源配置减少信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行缩容。
20、作为本技术实施例一种可选的实施方式,所述监控指标参数集合中的各个指标,以获取所述指标参数集合中各个指标对应的参数值,包括:
21、基于数据采集收口prometheus,监控所述指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值。
22、作为本技术实施例一种可选的实施方式,在所述监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值之前,所述方法还包括:
23、针对所述指标参数集合中的每一个指标参数创建对应的所述预设告警规则。
24、第二方面,本技术实施例提供了一种针对流式数据处理的弹性扩缩容装置,包括:
25、监控单元,用于监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值;所述指标参数集合中包括至少一个关于流式数据任务的自定义指标;
26、生成单元,用于基于所述各个指标对应的参数值,结合预设告警规则生成告警消息;
27、分析单元,用于响应于所述告警消息,对所述各个指标对应的参数值进行分析,以生成目标资源的配置信息;所述目标资源为基于自定义资源定义crd创建的自定义资源;
28、处理单元,用于基于所述目标资源的配置信息,对所述目标资源对应的deployment进行扩缩容。
29、作为本技术实施例一种可选的实施方式,所述告警消息包括第一告警消息和第二告警消息,所述第一告警消息用于指示扩容的信息;所述第二告警消息用于指示缩容的信息,所述响应于所述告警消息。
30、作为本技术实施例一种可选的实施方式,所述分析单元,具体用于当所述各个指标中的任一个对应的参数值大于等于对应的第一预设阈值,则通过所述告警规则生成第一告警消息;当所述各个指标中的任一个对应的参数值小于等于对应的第二预设阈值,则通过所述告警规则生成第二告警消息;响应于所述第一告警消息或所述第二告警消息,并基于所述各个指标对应的参数值进行分析,生成所述目标资源的配置信息。
31、作为本技术实施例一种可选的实施方式,所述针对流式数据处理的弹性扩缩容装置还包括创建单元,具体用于通过operator架构,在kubernetes平台中创建所述目标资源。
32、作为本技术实施例一种可选的实施方式,所述处理单元,具体用于当所述目标资源的配置信息为资源配置新增信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行扩容;当所述目标资源的配置信息为资源配置减少信息,则结合所述目标资源的配置信息,对所述目标资源对应的deployment进行缩容。
33、作为本技术实施例一种可选的实施方式,所述监控单元,具体用于基于数据采集收口prometheus,监控所述指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值。
34、作为本技术实施例一种可选的实施方式,在所述监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值之前,所述创建单元,还用于针对所述指标参数集合中的每一个指标参数创建对应的所述预设告警规则。
35、第三方面,本技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一项实施例所述的针对流式数据处理的弹性扩缩容方法。
36、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一项实施例所述的针对流式数据处理的弹性扩缩容方法。
37、本技术实施例提供的针对流式数据处理的弹性扩缩容方法具体为:部署于kubernetes平台中,所述方法包括:监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值;所述指标参数集合中包括至少一个关于流式数据任务的自定义指标;基于所述各个指标对应的参数值,结合预设告警规则生成告警消息;响应于所述告警消息,对所述各个指标对应的参数值进行分析,以生成目标资源的配置信息;所述目标资源为基于自定义资源定义crd创建的自定义资源;基于所述目标资源的配置信息,对所述目标资源对应的deployment进行扩缩容。本技术通过在kubernetes平台中添加的针对流式数据任务的自定义指标,那么在监控指标参数集合中的各个指标,获取所述指标参数集合中各个指标对应的参数值时,便可以获取针对流式数据任务的自定义指标对应的参数值,通过基于所述各个指标对应的参数值,结合预设告警规则生成告警消息,进而基于所述告警消息,实现动态的调整所述kubernetes平台中所述目标资源对应的deployment的容器容量。由于本技术能够通过自定义指标实现对kubernetes平台中所述目标资源对应的deployment的容器容量进行扩缩容,进而能够更加全面的监控kubernetes平台的运行状态,进而提高kubernetes平台的扩缩容效率,同时也能提高业务处理的效率。