技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种面向k8s集群的静态任务分配执行方法及系统与流程  >  正文

一种面向k8s集群的静态任务分配执行方法及系统与流程

  • 国知局
  • 2024-07-31 23:19:13

本发明属于k8s集群任务调度,特别是涉及一种面向k8s集群的静态任务分配执行方法及系统。

背景技术:

1、随着云计算技术的发展,逐渐由iaas过渡到paas。在paas层,容器技术成为主流技术,k8s集群成为事实上的容器编排标准。k8s集群采用动态调度方式,通过查询集群节点当前的资源状态以及pod的资源需求,动态的为pod选择一个节点,主要适用于系统任务不确定、对调度实时性要求不高的应用场景比如公有云。针对系统任务固定、对调度实时性要求较高的应用场景比如工业控制,现有技术中k8s集群调度方式主要存在以下不足:当集群节点数量大时,调度pod需要较长的时间,实时性较差;pod运行的节点动态分配、不具备确定性。

技术实现思路

1、本发明目的在于一种面向k8s集群的静态任务分配执行方法及系统,通过静态分配任务,制定任务运行蓝图,在执行任务时,执行器依据蓝图中的任务分配方案指导k8s集群将任务调度到指定的节点上,从而提高任务调度的实时性和确定性。

2、实现本发明目的的技术解决方案为:一方面,本发明提供一种面向k8s集群的静态任务分配执行方法,步骤如下:

3、步骤1:运行任务集合和k8s集群,得到任务分配方案,所述运行任务集合需要节点,所述任务集合中的任务分配到节点上,所述节点是逻辑节点,所述节点通过标签的方式与物理节点建立联系;

4、步骤1-1:在包含n个节点的k8s集群上运行m个任务,如果运行成功,则执行步骤1-2,否则任务分配失败;

5、步骤1-2:依次减少节点个数,直到任务运行失败为止;

6、步骤1-3:记录运行m个任务需要的节点个数k以及所述m个任务分配的节点,1≤k≤n,得到任务分配方案;

7、步骤2:记载任务分配方案,形成蓝图文件,所述蓝图文件以k8s集群的configmap资源的形式记载任务分配方案;

8、步骤3:k8s集群依据蓝图文件,通过控制任务和节点,指导任务调度器将任务分配到指定的节点上运行,并在运行过程中根据节点的运行状态对任务进行重构;

9、步骤3-1:根据运行蓝图的节点标签,依次为k个节点设置标签和污点标记;

10、步骤3-2:根据运行蓝图的taski,1≤i≤m:nodej键值对,设置任务对应的pod的nodeselector字段、tolerations字段,1≤j≤k;

11、进一步的,pod的nodeselector字段为node=nodej;设置的tolerations字段,key的值为对应的节点标签nodej、operator的值exists、effect的值为noexecute,1≤j≤k;

12、步骤3-3:当标签为node=nodej的节点出现故障时,选择一个未设置标签的节点,将所述未设置标签的节点设置标签为node=nodej,l≤j≤k;

13、进一步的,所述蓝图文件以k8s集群的configmap资源的形式记载任务分配方案,并以任务名称:节点标签键值对taski,1≤i≤m;nodej表示taski分配到nodej,1≤j≤k。

14、另一方面,本发明还提供一种面向k8s集群的静态任务分配执行系统,所述系统包括:

15、任务分配模块:用于得到任务分配方案并以运行蓝图的方式固定下来,所述任务分配通过k8s集群进行模拟;

16、执行器模块:用于执行器根据运行蓝图指导k8s集群将任务调度到指定节点上运行,当有节点出现故障时,对任务分配进行重构。

17、一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的面向k8s集群的静态任务分配执行方法。

18、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的面向k8s集群的静态任务分配执行方法。

19、一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的面向k8 s集群的静态任务分配执行方法。

20、与现有技术相比,本发明的显著进步在于:(1)本发明通过运行蓝图静态的记载任务分配方案,提高了k8s集群任务调度的确定性;(2)本发明将运行蓝图表示为k8s集群的configmap资源,通过查询configmap的内容,可在o(1)时间内确定任务调度的节点,提高了k8s集群任务调度的实时性。

21、为更清楚说明本发明的功能特性以及结构参数,下面结合附图及具体实施方式进一步说明。

技术特征:

1.一种面向k8s集群的静态任务分配执行方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的面向k8s集群的静态任务分配执行方法,其特征在于,所述步骤1运行任务集合需要节点,所述任务集合中的任务分配到节点上,所述节点是逻辑节点,所述节点通过标签的方式与物理节点建立联系。

3.根据权利要求1所述的面向k8s集群的静态任务分配执行方法,其特征在于,所述步骤1包含以下步骤:

4.根据权利要求1所述的面向k8s集群的静态任务分配执行方法,其特征在于,所述蓝图文件以k8s集群的configmap资源的形式记载任务分配方案,并以任务名称:节点标签键值对taski,1≤i≤m;nodej表示taski分配到nodej,1≤j≤k。

5.根据权利要求1所述的面向k8s集群的静态任务分配执行方法,其特征在于,所述步骤3包括以下步骤:

6.根据权利要求5所述的面向k8s集群的静态任务分配执行方法,其特征在于,所述步骤3-2中pod的nodeselector字段为node=nodej;设置的tolerations字段,key的值为对应的节点标签nodej、operator的值exists、effect的值为noexecute,1≤j≤k。

7.一种面向k8s集群的静态任务分配执行系统,其特征在于,用于实现权利要求1-6任意一项所述的面向k8s集群的静态任务分配执行方法,静态任务分配执行系统包括以下模块:

8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一所述的方法的步骤。

技术总结本发明公开了一种面向k8s集群的静态任务分配执行方法及系统,方法包括:运行任务集合和k8s集群,得到任务分配方案;记载所述任务分配方案,形成蓝图文件;所述k8s集群依据蓝图文件,通过控制任务和节点,指导任务调度器将任务分配到指定节点上运行,并在运行过程中根据节点的运行状态对任务进行重构;系统包括两部分,任务分配模块和执行器模块。本发明通过静态分配任务,制定任务运行蓝图,在执行任务时,执行器依据蓝图中的任务分配方案指导k8s集群将任务调度到指定的节点上,提高了任务调度的实时性和确定性。技术研发人员:殷进勇,赵曰昶,王宏辉,李祥震,李庆,杨建,王冶,蔡涛,祁德昊受保护的技术使用者:中国船舶集团有限公司第七一六研究所技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/196987.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。