容器管理系统及调度异构设备的方法、设备、介质及产品与流程

摘要: 本说明书一个或多个实施例涉及云原生,尤其涉及一种容器管理系统及调度异构设备的方法、设备、介质及产品。背景技术:1、容器管理系统可以对容器化应用进行自动化部署、调...
容器管理系统及调度异构设备的方法、设备、介质及产品与流程

本说明书一个或多个实施例涉及云原生,尤其涉及一种容器管理系统及调度异构设备的方法、设备、介质及产品。

背景技术:

1、容器管理系统可以对容器化应用进行自动化部署、调度和运维管理。以kubernetes(简称k8s)为例,其将集群划分为控制面和工作节点集群,控制面负责全局管理和调度决策,工作节点承载实际的容器运行。

2、在资源调度方面,容器管理系统原生支持cpu和内存等通用资源的调度。这些资源在操作系统层面具有统一的使用和管理方式,调度器可以准确感知各节点的资源余量。随着ai应用的发展,集群中越来越多地引入图形处理器(graphics processing unit,gpu)、远程直接内存访问(remote direct memory access,rdma)网卡等异构设备。这类设备并非容器管理系统的原生支持对象,需要借助设备厂商提供的设备插件(device plugin)接入集群。

3、设备插件可以识别本地异构设备并向容器管理系统上报资源。然而,各厂商各自定义资源格式和接入协议,集群缺乏统一的异构设备调度方案。

技术实现思路

1、有鉴于此,本说明书一个或多个实施例提供技术方案如下:

2、根据本说明书实施例的第一方面,提供一种容器管理系统中调度异构设备的方法,该方法应用于容器管理系统中的控制面,控制面用于管理工作节点集群,控制面针对每个工作节点部署有若干资源对象,工作节点接入的非原生的异构设备绑定有插件;该方法包括:

3、监听工作节点发送的设备资源对象,设备资源对象是工作节点在获取到异构设备的设备属性信息的情况下,将设备属性信息转换成的控制面自定义的资源对象;

4、基于自定义的设备资源对象,按照控制面兼容的协议,在工作节点的资源对象中写入接入的异构设备的信息;

5、获取pod创建请求,pod创建请求中包含用户声明的资源需求信息,资源需求信息是用户基于控制面预先发布的已接入异构设备兼容的协议创建;

6、将资源需求信息转换为控制面兼容的协议的数据格式,基于转换结果和控制面中的各资源对象,从集群中调度与资源需求信息适配的目标工作节点及目标异构设备;

7、将目标异构设备的调度结果转换成目标异构设备的插件兼容的格式,并写入至pod创建请求对应的配置信息中,以触发目标工作节点利用插件根据配置信息,为待创建pod分配目标异构设备的资源。

8、根据本说明书实施例的第二方面,提供一种容器管理系统中调度异构设备的方法,该方法应用于容器管理系统中由控制面管理的工作节点集群中的工作节点,工作节点接入的非原生的异构设备绑定有插件;该方法包括:

9、获取接入的异构设备的设备属性信息,将设备属性信息转换为控制面自定义的设备资源对象,并发送至控制面;

10、获取控制面为待创建pod下发的配置信息;

11、利用插件根据配置信息,为待创建pod分配目标异构设备的资源;

12、其中,控制面用于执行第一方面中任一实施例的步骤。

13、根据本说明书实施例的第三方面,提供一种容器管理系统,该系统包括工作节点集群和管理工作节点集群的控制面,工作节点接入的非原生的异构设备绑定有插件;控制面用于执行第一方面中任一实施例的步骤,工作节点用于执行第二方面中任一实施例的步骤。

14、根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现第一方面或第二方面任一实施例的步骤。

15、根据本说明书实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面任一实施例的步骤。

16、根据本说明书实施例的第六方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面任一实施例的步骤。

17、本说明书实施例的技术方案可以包括以下有益效果:

18、本说明书实施例中,控制面监听工作节点将异构设备的设备属性信息转换后上报的设备资源对象,设备资源对象采用控制面自定义的统一格式,屏蔽了不同厂商设备插件各自定义的资源格式差异。基于设备资源对象,按照控制面兼容的协议在工作节点的资源对象中写入异构设备信息,使得集群可以形成统一的异构设备资源视图,控制面的调度器可以直接基于这些信息感知各工作节点上异构设备的可用情况。

19、当获取到pod创建请求时,用户声明的资源需求信息是基于控制面预先发布的统一协议创建的,用户无需针对不同厂商学习各自的接入协议,降低了异构设备的使用门槛。将资源需求信息转换为控制面兼容的协议数据格式后,调度器可以基于统一的资源视图进行调度决策,从集群中选出适配的目标工作节点和目标异构设备,调度完成后,将调度结果转换为目标异构设备绑定的插件兼容的格式,写入pod的配置信息中,使得工作节点的插件可以像处理自身配套调度器的决策结果一样,读取配置信息并执行异构设备的资源调度,从而实现了异构设备的集中调度。

1.一种容器管理系统中调度异构设备的方法,所述方法应用于所述系统中的控制面,所述控制面用于管理工作节点集群,所述控制面针对每个工作节点部署有若干资源对象,所述工作节点所接入的非原生的异构设备绑定有插件;所述方法包括:

2.根据权利要求1所述的方法,所述工作节点部署有第一守护进程和第二守护进程;

3.根据权利要求1所述的方法,所述工作节点接入的异构设备有一个或多个;

4.根据权利要求1所述的方法,所述控制面预先发布的已接入异构设备兼容的协议包括:已接入异构设备的设备规格对象;

5.根据权利要求4所述的方法,针对按单个设备整体提供资源的异构设备,所述设备规格对象包括:用于描述异构设备的物理资源属性的物理设备规格对象;

6.根据权利要求1所述的方法,所述工作节点部署有原生的容器代理组件;

7.根据权利要求1所述的方法,所述设备属性信息包括:所述异构设备的设备分类信息、设备资源量、设备健康状态和异构设备之之间的硬件拓扑关系;其中,所述硬件拓扑关系表征工作节点中异构设备之间的连接方式;

8.根据权利要求1至7任一项所述的方法,所述控制面部署的调度器中包含有原生调度插件和异构设备调度插件;

9.根据权利要求8所述的方法,所述将所述资源需求信息转换为所述控制面兼容的协议的数据格式,包括:

10.根据权利要求8所述的方法,所述设备属性信息包括:所述异构设备的设备分类信息、设备资源量、设备健康状态和异构设备之间的硬件拓扑关系;其中,所述硬件拓扑关系表征同一工作节点中异构设备之间的连接方式;

11.根据权利要求10所述的方法,所述从所述候选节点集合中调度与所述资源需求信息适配的目标工作节点以及目标异构设备,包括:

12.一种容器管理系统中调度异构设备的方法,所述方法应用于所述系统中由控制面管理的工作节点集群中的工作节点,所述工作节点所接入的非原生的异构设备绑定有插件;所述方法包括:

13.一种容器管理系统,所述系统包括工作节点集群和管理所述工作节点集群的控制面,所述工作节点所接入的非原生的异构设备绑定有插件;所述控制面用于执行权利要求1至11任一项所述方法的步骤,所述工作节点用于执行权利要求12所述方法的步骤。

14.一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求1至12任一项所述方法的步骤。

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

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