CN112199200A - 资源调度方法、装置、计算机设备和存储介质 - Google Patents

资源调度方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112199200A
CN112199200A CN202011399837.XA CN202011399837A CN112199200A CN 112199200 A CN112199200 A CN 112199200A CN 202011399837 A CN202011399837 A CN 202011399837A CN 112199200 A CN112199200 A CN 112199200A
Authority
CN
China
Prior art keywords
scheduling
node
target
policy
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011399837.XA
Other languages
English (en)
Other versions
CN112199200B (zh
Inventor
冉鹏
崔小文
欧嘉敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011399837.XA priority Critical patent/CN112199200B/zh
Publication of CN112199200A publication Critical patent/CN112199200A/zh
Application granted granted Critical
Publication of CN112199200B publication Critical patent/CN112199200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本申请涉及一种资源调度方法、装置、计算机设备和存储介质。所述方法涉及云技术领域,所述方法包括:接收服务关联请求,服务关联请求包括服务标识和策略标识;响应服务关联请求,将服务标识对应的目标服务关联至策略标识对应的目标策略对象;对目标服务执行目标策略对象所关联的调度策略;接收针对目标服务的资源调度请求;响应资源调度请求,调度满足调度策略的资源运行目标服务。采用本方法能够保证资源与服务之间的双向选择,降低运维人员的工作量和难度,提高了资源调度的效率。

Description

资源调度方法、装置、计算机设备和存储介质
技术领域
本申请涉及云服务技术领域,特别是涉及一种资源调度方法、装置、计算机设备和存储介质。
背景技术
目前,云平台大多数基于集群管理系统实现的,通过集群管理系统,可以实现运维自动化、服务快速部署和高效的资源调度,从而能够实现对服务集群的高效管理。比如容器云平台可以通过容器集群管理系统来运行。集群包括大量的机器,这些机器也可以称之为节点,采用调度策略从大量的机器中选取某台机器运行某一个服务的过程,叫做资源调度。
近年来,集群管理系统自身的一些高级调度规则可以影响服务被调度到哪个节点上,在简单的网络环境中,这些高级调度规则可以满足简单的业务需求。比如实际业务中,需要采用某个特定调度规则将服务调度至某个指定节点上,那么就需要为该服务和该节点配置与该特定调度规则相关的信息。
然而,在复杂的业务需求中,资源协调会变得非常的复杂,当大量的服务或该节点随着业务实际情况经常发生变动时,就需要频繁地为变动后的节点或变动后的服务配置与该特定调度规则相关的信息,导致大量重复和冗余的工作,极大的增加了维护人员的工作量,使资源调度的效率变差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高资源调度效率的资源调度方法、装置、计算机设备和存储介质。
一种资源调度方法,所述方法包括:
接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
对所述目标服务执行所述目标策略对象所关联的调度策略;
接收针对所述目标服务的资源调度请求;
响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
在一个实施例中,所述方法还包括:
接收节点关联请求,所述节点关联请求包括节点标识和策略标识;
响应所述节点关联请求,将所述节点标识对应的目标节点关联至所述策略标识对应的目标策略对象;
对所述目标节点执行所述目标策略对象所关联的调度策略;
将所述目标节点作为满足所述调度策略的资源。
在一个实施例中,所述对所述目标节点执行所述目标策略对象所关联的调度策略包括:
为所述目标节点生成节点调度命令,所述节点调度命令包括所述目标策略对象所关联的调度策略;
根据所述节点调度命令为所述目标节点添加所述调度策略。
在一个实施例中,所述资源调度器为所述目标节点添加所述调度策略的步骤包括:为所述目标节点添加所述调度策略指定的节点标签信息;或者,为所述目标节点添加所述调度策略指定的污点信息。
在一个实施例中,所述方法还包括:
接收针对所述目标节点的关联解除请求;
响应所述关联解除请求,解除所述目标节点与所述目标策略对象之间的关联关系,并删除为所述目标节点添加的与所述目标策略对象关联的调度策略。
在一个实施例中,所述对所述目标服务执行所述目标策略对象所关联的调度策略包括:
为所述目标服务生成服务调度命令,所述服务调度命令包括所述目标策略对象所关联的调度策略;
根据所述服务调度命令为所述目标服务添加所述调度策略。
在一个实施例中,所述服务调度器为所述目标服务添加所述调度策略的步骤包括:为所述目标服务添加所述调度策略指定的节点选择器信息;或者,为所述目标服务添加所述调度策略指定的容忍信息。
在一个实施例中,所述方法还包括:
接收针对所述目标服务的关联解除请求;
响应所述关联解除请求,解除所述目标服务与所述目标策略对象之间的关联关系,并删除为所述目标服务添加的与所述目标策略对象关联的调度策略。
在一个实施例中,所述方法还包括:
获取已创建的节点标签及已创建的与所述节点标签对应的节点选择器;
确定所述节点标签和所述节点选择器所对应的调度策略;
构造策略对象,并将构造的策略对象与所述调度策略关联。
在一个实施例中,所述方法还包括:
获取标签创建请求,所述标签创建请求包括节点标签的键值型属性数据;
根据所述键值型属性数据创建节点标签;
创建与所述节点标签对应的节点选择器。
在一个实施例中,所述方法还包括:
获取已创建的污点及已创建的与所述污点对应的容忍;
确定所述污点及所述容忍所对应的调度策略;
构造策略对象,并将构造的策略对象与所述调度策略关联。
在一个实施例中,所述方法还包括:
获取污点创建请求,所述污点创建请求包括污点的键值型属性数据;
根据所述键值型属性数据创建污点;
创建与所述污点对应的容忍。
在一个实施例中,所述响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务包括:
响应所述资源调度请求,从集群中确定满足所述调度策略的节点;
从满足所述调度策略的节点中确定可调度节点;
将所述目标服务调度至所述可调度节点上运行。
一种资源调度装置,所述装置包括:
第一接收模块,用于接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
服务关联模块,用于响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
策略执行模块,用于对所述目标服务执行所述目标策略对象所关联的调度策略;
第二接收模块,用于接收针对所述目标服务的资源调度请求;
调度模块,用于响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
对所述目标服务执行所述目标策略对象所关联的调度策略;
接收针对所述目标服务的资源调度请求;
响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
对所述目标服务执行所述目标策略对象所关联的调度策略;
接收针对所述目标服务的资源调度请求;
响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
上述资源调度方法、装置、计算机设备和存储介质,将具体的调度规则抽象成策略对象,当需要采用某个调度策略调度目标服务时,前台维护人员只需要通过云平台上发出服务关联请求即可,通过该服务关联请求中的服务标识和策略标识,就可以将服务标识对应的目标服务关联至策略标识对应的目标策略对象,该目标策略对象关联了某一个具体的调度策略,目标服务关联了该调度策略之后,就可以对该目标服务执行该调度策略,在需要为该服务调度资源时,就可以将该目标服务调度至满足该调度策略的资源。
一方面,将服务关联到策略对象,就可以实现将服务调度到同样也关联了该策略对象的资源上;另一方面,该策略对象还可以保证资源与服务之间的双向选择,当需要变更调度至该资源上的服务时,可以随时改变关联至该策略对象的服务信息,或者,当需要变更用于运行该服务的资源时,可以随时改变关联这个策略的资源信息,相比于前台维护人员请求为服务或资源添加调度规则而言,操作更简单;并且,在跨集群资源调度的场景下,资源的数量更多,直接为服务或资源添加调度规则就会更繁琐,重复工作就会更多,而通过将跨集群或跨地域资源直接关联至策略对象,资源可以批量关联至策略对象,就可以避免这些繁复的操作。基于此,上述资源调度方法可以大大的降低了运维人员的工作量和难度,资源调度就会被大大简化,提高了资源调度的效率。
附图说明
图1为一个实施例中资源调度方法的应用环境图;
图2为一个实施例中资源调度方法的流程示意图;
图3为一个实施例中将目标服务关联至策略对象的时序图;
图4为一个实施例中将目标节点关联至策略对象的流程示意图;
图5为一个实施例中将目标节点关联至策略对象的时序图;
图6为一个实施例中根据标签和选择器构造策略对象的时序图;
图7为一个实施例中根据污点和容忍构造策略对象的时序图;
图8为一个具体的实施例中资源调度方法的流程示意图;
图9为一个具体的应用场景中资源调度方法的时序图;
图10为一个实施例中资源调度装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的方法涉及云技术。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请提供的资源调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与资源调度服务器104进行通信。在一个实施例中,终端102可以向资源调度服务器104发送服务关联请求,该服务关联请求包括服务标识和策略标识,资源调度服务器104接收该服务关联请求后,响应该服务关联请求,将该服务关联请求中的服务标识对应的目标服务关联至该策略标识对应的目标策略对象,并对该目标服务执行该目标策略对象所关联的调度策略。目标服务关联了策略对象后,终端102还可以向资源调度服务器104发送针对目标服务的资源调度请求,资源调度服务器104接收该资源调度请求后,响应该资源调度请求,调度满足该调度策略的资源运行该目标服务。
在一个实施例中,资源调度服务器104可以是为整个云平台提供技术支持的服务器,该云平台包括维护人员可操作的管理网站及该资源调度服务器,该云平台基于集群管理系统实现,集群管理系统例如可以是Kubernetes、Docker Swarm、Apache Mesos和AWSECS,等等。在一个实施例中,资源调度服务器104可以至少包括资源管理服务器、策略执行服务器和服务调度服务器,资源管理服务器用于对具体的调度策略进行管理,调度策略的管理包括对调度策略的新增、删除和查询,资源管理服务器还用于对具体的调度策略抽象出一个策略对象,并将策略对象与调度策略关联,资源管理服务器还用于节点或服务与策略对象关联。策略执行服务器用于基于集群管理系统的调度规则对于策略对象关联的节点或服务执行具体的调度策略,例如为节点新增或删除节点标签、污点,或是查询节点标签、污点,或是为服务新增或删除选择器和容忍,或是查询服务的选择器和容忍。服务调度服务器用于根据节点及服务的调度策略,将服务调度至于调度策略匹配的节点上。当然,上述资源管理服务器、策略执行服务器和服务调度服务器的功能也可以通过由一个独立的资源管理服务器来实现。
本申请实施例提供的资源调度方法,将具体的调度规则抽象成策略对象,当需要采用某个调度策略调度目标服务时,前台维护人员只需要通过云平台上发出服务关联请求即可,通过该服务关联请求中的服务标识和策略标识,就可以将服务标识对应的目标服务关联至策略标识对应的目标策略对象,该目标策略对象关联了某一个具体的调度策略,目标服务关联了该调度策略之后,就可以对该目标服务执行该调度策略,在需要为该服务调度资源时,就可以将该目标服务调度至满足该调度策略的资源。
一方面,通过抽象出策略对象并将资源和服务同时关联到这个策略对象,就可以实现将服务调度到该资源上;另一方面,该策略对象还可以保证资源与服务之间的双向选择,当需要变更调度至该资源上的服务时,可以随时改变关联至该策略对象的服务信息,或者,当需要变更用于运行该服务的资源时,可以随时改变关联这个策略的资源信息,相比于前台维护人员请求为服务或资源添加调度规则而言,操作更简单;并且,在跨集群资源调度的场景下,资源的数量更多,直接为服务或资源添加调度规则就会更繁琐,重复工作就会更多,而通过将跨集群或跨地域资源直接关联至策略对象,资源可以批量关联至策略对象,就可以避免这些繁复的操作。基于此,上述资源调度方法可以大大的降低了运维人员的工作量和难度,资源调度就会被大大简化,提高了资源调度的效率。
其中,终端102终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。资源调度服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及资源调度服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面对本申请实施例涉及的一些概念进行说明:
Kubernetes,Kubernetes 是一个可移植的、可扩展的开源容器集群管理系统,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能平台。
标签,广义的标签指的是资源(如集群中的节点)或服务的属性,属性可以是特有属性,例如被特殊授权过的节点,具有特殊功能的服务,等等,属性也可以是通用属性,如特殊机型的节点,处于特殊网段的节点,等等。
资源调度,云平台管理的集群中包括多个节点,云平台可以为服务自动地选择某个节点,但在一些情况下还可以控制服务被调度至哪个节点上。例如,集群中有些节点的配置更好,具有固态硬盘,或者是有更好的内存资源,一些核心的服务更需要被调度至这样配置更好的节点上运行。又例如,两个服务的网络传输很频繁,为了减小传输时延,这两个服务最好是能够被调度至同一个节点上运行,或者是被调度至同一个机房的节点上运行。采用一些调度方式将一些应用运行在指定的节点上,或者,在一些情况下,将一些节点专门用于运行指定的服务,这样的过程,就叫做资源调度。
节点标签(label),是为节点添加的特殊属性,该属性可以影响该节点是否会被调度至特定的服务使用。
节点选择器(nodeSelector),是为服务添加的属性,节点选择器是与节点标签对应的调度方式,通过为服务添加节点选择器,完成将该服务与特定类型的节点匹配,可以从服务的角度选择节点。
污点(taints),是定义在节点上的一组键值型属性数据,用来让节点拒绝将某些服务调度到该节点上,如果一个节点有某个污点,那么只有当某个服务容忍这个节点的污点,这个服务才能被调度到这个节点。污点信息包含了污点的效果,具体效果包含了一以下三种:其一、如果一个服务没有声明容忍这个污点,则不会把该服务调度到有这个污点的节点上;其二、如果一个服务没有声明容忍这个污点,则会尽量避免把这个服务调度到这一节点上去,但不是强制的;其三、如果某个节点上添加了污点,那么,该节点上没有容忍这个污点的服务会被驱逐。
容忍(tolerations),是定义在服务上的键值型属性数据,容忍是与污点对应的,用于让服务可以容忍节点的污点。
在一个实施例中,如图2所示,提供了一种资源调度方法,以该方法应用于图1中的资源调度服务器104为例进行说明,包括以下步骤:
步骤202,接收服务关联请求,服务关联请求包括服务标识和策略标识。
其中,服务关联请求是用于将某个服务与某个策略对象关联的指令。终端可显示基于集群资源管理系统实现的云平台的管理网站的操作界面,当需要为服务添加某一种具体调度策略时,维护人员可以通过该界面,根据服务标识和策略标识,向资源管理服务器发送服务关联请求。
策略标识,用于表示某一个策略对象,策略标识可以是策略对象的名字。不同的策略对象以不同的策略标识进行区分。本申请实施例中, 策略对象是某一个或一些具体的调度策略的抽象和封装,也可以理解为,策略对象与某一个或一些具体的调度策略关联,一个调度策略通常包括对节点的调度策略与对服务的调度策略两方面的内容。例如,调度策略A一方面是需要为节点添加节点标签,该节点标签的内容为:节点具备固态硬盘,同时,另一方面需要为服务添加节点选择器,该节点选择器的属性信息为:节点需要具备固态硬盘,那么,这样一套调度策略就对应了一个策略对象A。又例如,调度策略B一方面是需要为节点添加污点,该污点的效果为:如果一个服务没有声明容忍这个污点,则不会把该服务调度到有这个污点的节点上,同时,另一方面需要为服务添加容忍申明,这样一套调度策略就对应了一个策略对象B。
当维护人员需要为特定的服务请求特定的资源时,可以通过云平台的管理网站的界面,向资源调度服务器发送包括策略标识和服务标识的服务关联请求。
步骤204,响应服务关联请求,将服务标识对应的目标服务关联至策略标识对应的目标策略对象。
具体地,资源调度服务器可以接收终端发送的服务关联请求,并根据该请求中的策略标识查找相应的目标策略对象,将服务标识对应的目标服务关联至该目标策略对象,资源调度服务器可以保存目标服务与该目标策略对象之间的关联关系。资源调度服务器保存的目标服务与目标策略对象之间的关联关系,以调用集群管理系统本身的调度规则,对目标服务执行与该目标策略对象关联的调度策略。
步骤206,对目标服务执行目标策略对象所关联的调度策略。
如前文所提到的,目标策略对象是某一个具体的调度策略的抽象和封装,在资源调度服务器将目标服务关联至目标策略对象后,资源调度服务器可以对该目标服务执行该目标策略对象所关联的调度策略。
在一个实施例中,对目标服务执行目标策略对象所关联的调度策略包括:为目标服务生成服务调度命令,服务调度命令包括目标策略对象所关联的调度策略;根据服务调度命令为目标服务添加调度策略。
策略对象的调度策略包括两方面的内容,包括对节点的调度策略,也就是为节点添加节点标签或污点,还包括对服务的调度策略,也就是为服务添加节点选择器或容忍。资源调度服务器可以根据目标策略对象所关联的调度策略,按照该调度策略为目标服务添加节点选择器或容忍。
在一个实施例中,可以由资源调度服务器中的资源管理服务器将目标服务与目标策略对象关联之后,生成服务调度命令,将该服务调度命令发送至策略执行服务器,通过策略执行服务器根据该服务调度命令中的调度策略,按照集群管理系统已有的调度规则,对目标服务执行该目标策略对象所关联的调度策略。
在一个实施例中,根据服务调度命令为目标服务添加调度策略包括:根据服务调度命令为目标服务添加调度策略指定的节点选择器信息;或者,根据服务调度命令为目标服务添加调度策略指定的容忍信息。
具体地,策略执行服务器可以根据服务调度命令中的调度策略,为目标服务添加该调度策略指定的节点选择器信息或容忍信息,添加的节点选择器可以从大量的节点中筛选出符合该节点选择器的节点,也就是调用特定的节点运行该目标服务,添加的容忍信息可以将目标服务调度至其能够容忍该节点的污点的节点上运行。
在一个实施例中,资源调度服务器还可以接收针对目标服务的关联解除请求;响应关联解除请求,解除目标服务与目标策略对象之间的关联关系,并删除为目标服务添加的与目标策略对象关联的调度策略。
在实际情况中,目标服务经常需要发生变动的情况下,比如随着目标服务的升级或修订,不再需要特定的节点运行该目标服务了,按照传统的方式,则需要根据集群管理系统本身的调度规则,通过维护人员删除为该目标服务添加的一个或多个调度策略,如特定的节点选择器,那么,在目标服务需要经常发生变动的情况下,就需要维护人员多次、繁琐的更改关于该目标服务的调度策略,操作十分繁琐,尤其在目标服务数量较多的情况下,工作量是巨大的。
在本实施例中,只需要维护人员在终端显示的管理界面中查询目标服务关联的策略对象后,触发针对策略对象的关联解除操作,终端就可以根据该策略对象的策略标识和目标服务的标识向资源调度服务器发送关联解除请求,资源调度服务器接收到该关联解除请求后,解除目标服务与目标策略对象之间的关联关系,并删除为目标服务添加的与该目标策略对象关联的调度策略。
在一个实施例中,可以由资源调度服务器中的资源管理服务器解除目标服务与目标策略对象之间的关联之后,生成服务解关联命令,将该服务解关联命令发送至策略执行服务器,通过策略执行服务器根据该服务解关联命令中的调度策略,删除对目标服务添加的该目标策略对象所关联的调度策略。
在一个实施例中,删除对目标服务添加的该目标策略对象所关联的调度策略包括:根据服务解关联命令删除为目标服务添加的调度策略指定的节点选择器信息;或者,根据服务解关联命令删除为目标服务添加的调度策略指定的容忍信息。
步骤208,接收针对目标服务的资源调度请求。
其中,资源调度请求是用于为目标服务请求资源的指令,当需要请求资源运行目标服务时,终端可以通过云平台通过的管理网站上传该目标服务,并发出针对目标服务的资源请求,云平台的资源调度服务器接收到针对该目标服务的资源请求,按照为目标服务添加的调度策略,从集群的节点中找出一个合适的节点运行该目标服务。
步骤210,响应资源调度请求,调度满足调度策略的资源运行目标服务。
本实施例中,资源即集群中的机器资源,可以是宿主机也可以是在宿主机上虚拟出的虚拟机资源,这些都可以称之为节点。在资源调度服务器接收到针对目标服务的资源调度请求后,从集群的节点池中调度满足目标服务的调度策略的资源,将目标服务调度至该资源上运行。
在一个实施例中,响应资源调度请求,调度满足调度策略的资源运行目标服务,包括:响应资源调度请求,从集群中确定满足调度策略的节点;从满足调度策略的节点中确定可调度节点;将目标服务调度至可调度节点上运行。
如图3所示,为一个实施例中将目标服务关联至策略对象的时序图。参照图3,终端通过前台管理网站的操作界面,根据服务标识和策略标识发出服务关联请求,资源调度服务器中的资源管理服务器接收该请求之后,将服务标识对应的目标服务与策略标识对应的目标策略对象关联,并为目标服务生成服务调度命令,发送至策略执行服务器,策略执行服务器按照集群管理系统已有的调度机制为目标服务执行相应的调度策略,例如为目标服务添加具体的节点选择器信息或容忍信息。之后,服务调度服务器就可以根据目标服务具体的调度信息,将该目标服务调度至满足该调度信息的节点之上运行。
上述资源调度方法,将具体的调度规则抽象成策略对象,当需要采用某个调度策略调度目标服务时,前台维护人员只需要通过在云平台的管理网站发出服务关联请求即可,通过该服务关联请求中的服务标识和策略标识,就可以将服务标识对应的目标服务关联至策略标识对应的目标策略对象,该目标策略对象关联了某一个具体的调度策略,目标服务关联了该调度策略之后,就可以对该目标服务执行该调度策略,在需要为该服务调度资源时,就可以将该目标服务调度至满足该调度策略的资源。
在本申请实施例中,为了获得满足目标服务的调度策略的资源,即满足目标服务的调度策略的目标节点,维护人员还需要为集群中的一些节点添加与目标服务的调度策略相应的调度策略,例如,目标服务需要运行在磁盘类型为固态硬盘的节点上,那么就需要为集群中的一些节点添加磁盘类型为固态硬盘的标签。节点的调度策略可以维护人员直接通过管理网站手动添加后调用集群管理系统本身的调度机制添加的,也可以是通过将节点与目标策略对象关联后添加的。
在一个实施例中,在资源调度服务器将服务关联至某个策略对象之前,还需要先将资源关联至某个策略对象,具体地,如图4所示,上述资源调度方法还包括将节点关联至目标策略对象的步骤:
步骤402,接收节点关联请求,节点关联请求包括节点标识和策略标识。
其中,节点关联请求是用于将某个节点与某个策略对象关联的指令。终端可显示基于集群资源管理系统实现的云平台的管理网站的操作界面,当需要为节点添加某一种具体调度策略时,维护人员可以通过该界面,根据节点标识和策略标识,向资源管理服务器发送服务关联请求。
步骤404,响应节点关联请求,将节点标识对应的目标节点关联至策略标识对应的目标策略对象。
具体地,资源调度服务器可以接收终端发送的节点关联请求,并根据该请求中的策略标识查找相应的目标策略对象,将节点标识对应的目标节点关联至该目标策略对象,资源调度服务器可以保存目标节点与该目标策略对象之间的关联关系。资源调度服务器保存的目标节点与目标策略对象之间的关联关系,以调用集群管理系统本身的调度规则,对目标节点执行与该目标策略对象关联的调度策略。
步骤406,对目标节点执行目标策略对象所关联的调度策略。
如前文所提到的,目标策略对象是某一个具体的调度策略的抽象和封装,在资源调度服务器将目标节点关联至目标策略对象后,资源调度服务器可以对该目标节点执行该目标策略对象所关联的调度策略。
在一个实施例中,对目标节点执行目标策略对象所关联的调度策略包括:为目标节点生成节点调度命令,节点调度命令包括目标策略对象所关联的调度策略;根据节点调度命令为目标节点添加调度策略。
策略对象的调度策略包括两方面的内容,包括对节点的调度策略,也就是为节点添加节点标签或污点,还包括对服务的调度策略,也就是为服务添加节点选择器或容忍。资源调度服务器可以根据目标策略对象所关联的调度策略,按照该调度策略为目标节点添加节点标签或污点。
在一个实施例中,可以由资源调度服务器中的资源管理服务器将目标节点与目标策略对象关联之后,生成节点调度命令,将该节点调度命令发送至策略执行服务器,通过策略执行服务器根据该节点调度命令中的调度策略,按照集群管理系统已有的调度规则,对目标节点执行该目标策略对象所关联的调度策略。
在一个实施例中,根据节点调度命令为目标节点添加调度策略包括:根据节点调度命令,为目标节点添加调度策略指定的节点标签信息;或者,根据节点调度命令,为目标节点添加调度策略指定的污点信息。
具体地,策略执行服务器可以根据节点调度命令中的调度策略,为目标节点添加该调度策略指定的节点标签信息或污点信息,添加的节点标签可以从大量的节点中筛选出符合目标服务的节点选择器的节点,也就是调用特定的节点运行该目标服务,添加的污点信息可以将目标服务调度至其能够容忍该节点的污点的节点上运行。
在一个实施例中,在一个实施例中,资源调度服务器还可以接收针对目标节点的关联解除请求;响应关联解除请求,解除目标节点与目标策略对象之间的关联关系,并删除为目标节点添加的与目标策略对象关联的调度策略。
在实际情况中,目标节点经常需要发生变动的情况下,比如随着目标节点的IP变更、资源扩容,需要更改目标节点的属性信息,按照传统的方式,则需要根据集群管理系统本身的调度规则,通过维护人员删除为该目标节点添加的一个调度策略,如节点标签或污点,那么,在目标节点需要经常发生变动的情况下,就需要维护人员多次、繁琐的更改关于该目标节点的调度策略,操作十分繁琐,尤其在目标节点数量较多的情况下,工作量是巨大的。
而在本实施例中,只需要维护人员在终端显示的管理界面中查询目标节点关联的策略对象后,触发针对策略对象的关联解除操作,终端就可以根据该策略对象的策略标识和目标节点的标识向资源调度服务器发送关联解除请求,资源调度服务器接收到该关联解除请求后,解除目标节点与目标策略对象之间的关联关系,并删除为目标节点添加的与该目标策略对象关联的调度策略。
在一个实施例中,可以由资源调度服务器中的资源管理服务器解除目标节点与目标策略对象之间的关联之后,生成节点解关联命令,将该节点解关联命令发送至策略执行服务器,通过策略执行服务器根据该服务解关联命令中的调度策略,删除对目标节点添加的该目标策略对象所关联的调度策略。
在一个实施例中,删除对目标节点添加的该目标策略对象所关联的调度策略包括:根据节点解关联命令删除为目标节点添加的调度策略指定的节点标签信息;或者,根据节点解关联命令删除为目标节点添加的调度策略指定的污点信息。
步骤408,将目标节点作为满足调度策略的资源。
根据上述步骤,将目标服务与目标节点均关联至同一个策略对象,并为目标服务、目标节点添加了该策略对象关联的调度策略,那么,在需要从集群资源中选择用于运行目标服务的资源时,该目标节点就是满足目标服务的调度策略的资源,资源调度服务器可以将该目标节点调度至运行目标服务。
如图5所示,为一个实施例中将目标节点关联至策略对象的时序图。参照图5,终端通过前台管理网站的操作界面,根据节点标识和策略标识发出节点关联请求,资源调度服务器中的资源管理服务器接收该请求之后,将节点标识对应的目标节点与策略标识对应的目标策略对象关联,并为目标节点生成节点调度命令,发送至策略执行服务器,策略执行服务器按照集群管理系统已有的调度机制为目标节点执行相应的调度策略,例如为目标节点添加具体的节点标签信息或污点信息。这样,服务调度服务器就可以根据目标服务具体的调度信息,将该目标节点作为满足该调度信息的资源。
在一个实施例中,资源调度服务器需要将一系列的匹配规则抽象成不同的策略对象,因此,上述方法还可以包括构造策略对象的步骤。可选地,由于为节点添加的节点标签与服务的选择器是相互匹配的,节点的污点与服务的容忍是相互匹配的,因此,资源调度服务器可以基于节点标签和污点对策略对象进行管理,即按照不同的节点标签或不同的污点构造不同的策略对象。当然,资源调度服务器也可以基于选择器和容忍对策略对象进行管理,即按照不同的选择器和容忍构造不同的策略对象。
在一个实施例中,构造策略对象的步骤包括:获取已创建的节点标签及已创建的与节点标签对应的节点选择器;确定节点标签和节点选择器所对应的调度策略;构造策略对象,并将构造的策略对象与调度策略关联。
具体地,资源调度服务器保存了创建的节点标签以及与节点标签对应的节点选择器。资源调度服务器可以根据已创建的节点标签及已创建的与标签对应的节点选择器所约束的调度策略构造策略对象。节点标签和节点选择器所约束的调度策略即为添加了该节点标签的节点可以被调度来运行添加了该节点选择器的服务。例如,某个节点标签为“label:disktype=harddisk”,对应的节点选择器为“nodeSelector:disktype: harddisk”,这个节点标签与节点选择器所确定的调度策略为:对于添加了该节点选择器的服务,尽可能地调度磁盘类型为硬盘的节点来运行该服务。资源调度服务器将上述节点标签与节点选择器抽象后得到一个与该调度策略对应的策略对象。
又例如,将节点A只能部署服务S,服务S也只能部署到节点A上,按照原有的调度规则,这样的双向选择,前台维护人员需要按照以下步骤进行处理:首先,创建节点标签“CanOnlyS”,其次,创建节点选择器“SCanRun”,接着,为服务S添加节点选择器“SCanRun”,为节点A添加节点标签“CanOnlyS”,这样调度时才会将服务S调度至节点A上运行。而在本申请实施例中,在创建了上述节点标签及节点选择器后,资源调度服务器可以抽象出一个策略对象“ASMachinePool”,将上述节点标签及节点选择器关联到这个策略对象,同时将节点A与服务S关联至该策略对象,就能实现同样的调度效果,保证节点与服务之间可以双向选择。尤其当节点或者服务发生变动,可以随时改变关联这个策略对象的节点或服务的信息,例如当需要提供多个节点可以部署服务S时,就只需要将该多个节点批量关联至该策略对象,而无需为该多个节点依次添加该节点标签,当需要剔除一些节点时,也只需要将这些节点批量与该策略对象解除关联,这样,资源调度工作就会大大的简化。
在一个实施例中,在资源调度服务器根据节点标签和节点选择器构造策略对象之前,资源调度服务器还需要创建节点标签和节点选择器,具体包括:获取标签创建请求,标签创建请求包括节点标签的键值型属性数据;根据键值型属性数据创建节点标签;创建与节点标签对应的节点选择器。
具体地,终端可显示集群资源管理系统的管理界面,当需要创建新的节点标签时,维护人员可以通过该管理界面新增节点标签,维护人员在该管理界面中输入键值型属性数据如disktype=harddisk,终端就可以根据维护人员输入的键值型属性数据,向资源调度服务器发送标签创建请求,资源调度器接收该标签创建请求后,生成相应的标签,同时将该键值型属性数据填充到节点选择器nodeSelector中,创建与该节点标签对应的节点选择器。
这样,有了节点标签和节点选择器之后,资源调度服务器就可以根据该节点标签和节点选择器构造出策略对象,不同的节点标签可以对应不同的策略对象。
在一个实施例中,资源调度服务器还可以根据节点标签删除请求,删除创建的节点标签和节点选择器。具体地,终端可以通过管理界面显示已经创建的节点标签,对于已经创建的节点标签,终端可以根据维护人员触发的删除操作发出节点标签删除请求,资源调度服务器根据该标签删除请求删除节点标签及对应的节点选择器。同时,资源调度服务器还可以删除根据该节点标签及节点选择器构造的策略对象。
在一个实施例中,资源调度服务器还可以根据节点标签查询请求,查询创建的节点标签和节点选择器。具体地,终端可以通过管理界面显示已经创建的节点标签,对于已经创建的节点标签,终端可以根据维护人员触发的查询操作对节点标签进行筛选和查询,同时,资源调度服务器还可以反馈根据该节点标签及节点选择器构造的策略对象的策略标识。
如图6所示,为一个实施例中根据标签和选择器创建策略对象的时序图。参照图6,终端获取标签的键值型属性数据,根据该键值型属性数据请求新增节点的标签,资源调度服务器进行相应的响应,创建节点的标签和对应的选择器;并在该标签和选择器的基础上,构造出目标策略对象。
在一个实施例中,构造策略对象的步骤包括:获取已创建的污点及已创建的与污点对应的容忍;确定污点及容忍所对应的调度策略;构造策略对象,并将构造的策略对象与调度策略关联。
具体地,资源调度服务器保存了创建的节点污点以及与污点对应的容忍。资源调度服务器可以根据已创建的污点及已创建的与污点对应的容忍所约束的调度策略构造策略对象。污点和容忍所约束的调度策略即为只有当服务申明容忍一个节点的污点时该服务才会被调度至该节点上运行。例如,某个节点污点为:“disktype=ssd:NoSchedule”表示没有申明该容忍的服务不会被调度至该节点上运行,对应的容忍为: key:“disktype”;value:“ssd”;effect:“NoSchedule”
该节点污点与容忍所确定的调度策略为:只有对于添加了该容忍的服务,才会被调度至该节点上运行该服务。资源调度服务器将上述污点与容忍抽象后得到一个与该调度策略对应的策略对象。
在一个实施例中,在资源调度服务器根据污点和容忍构造策略对象之前,资源调度服务器还需要创建污点和容忍,具体包括:获取污点创建请求,污点创建请求包括污点的键值型属性数据;根据键值型属性数据创建污点;创建与污点对应的容忍。
具体地,终端可显示集群资源管理系统的管理界面,当需要创建新的污点时,维护人员可以通过该管理界面新增节点污点,维护人员在该管理界面中输入键值型属性数据如disktype=harddisk,效果为NoSchedule,终端就可以根据维护人员输入的键值型属性数据,向资源调度服务器发送污点创建请求,资源调度器接收该污点创建请求后,生成相应的污点,同时将该键值型属性数据填充到容忍tolerations中,创建与该污点对应的容忍。
这样,有了节点污点和容忍之后,资源调度服务器就可以根据该节点污点和容忍构造出策略对象,不同的节点污点对应不同的策略对象。
在一个实施例中,资源调度服务器还可以根据污点删除请求,删除创建的节点污点和容忍。具体地,终端可以通过管理界面显示已经创建的节点污点,对于已经创建的节点污点,终端可以根据维护人员触发的删除操作发出污点删除请求,资源调度服务器根据该污点删除请求删除污点及对应的容忍。同时,资源调度服务器还可以删除根据该污点及容忍构造的策略对象。
在一个实施例中,资源调度服务器还可以根据污点查询请求,查询创建的节点污点和容忍。具体地,终端可以通过管理界面显示已经创建的节点污点,对于已经创建的节点污点,终端可以根据维护人员触发的查询操作对节点污点进行筛选和查询,同时,资源调度服务器还可以反馈根据该节点污点及容忍构造的策略对象的策略标识。
如图7所示,为一个实施例中根据污点和容忍创建策略对象的时序图。参照图7,终端获取污点的键值型属性数据,根据该键值型属性数据请求新增节点的污点,资源调度服务器进行相应的响应,创建节点的污点和对应的容忍;并在该污点和容忍的基础上,构造出目标策略对象。
本实施例中,由于当前集群管理系统提供的调度机制,都是基于节点标签、节点选择器、节点污点及服务的容忍实现的,因此,本申请实施例提出的策略对象,也是根据这些基础的组件实现的,在节点的标签和服务的选择器、节点的污点和服务的容忍之上进行归纳,把具体的一个特殊调度策略抽象成一个策略对象。
如图8所示,为一个具体的实施例中资源调度方法的流程示意图。参照图8,包括以下步骤:
步骤802,获取标签创建请求,标签创建请求包括节点标签的键值型属性数据;
步骤804,根据键值型属性数据创建节点标签;
步骤806,创建与节点标签对应的节点选择器;
步骤808,确定节点标签和节点选择器所对应的调度策略;
步骤810,获取污点创建请求,污点创建请求包括污点的键值型属性数据;
步骤812,根据键值型属性数据创建污点;
步骤814,创建与污点对应的容忍;
步骤816,确定污点及容忍所对应的调度策略;
步骤818,构造策略对象,并将构造的策略对象与调度策略关联;
步骤820,接收节点关联请求,节点关联请求包括节点标识和策略标识;
步骤822,响应节点关联请求,将节点标识对应的目标节点关联至策略标识对应的目标策略对象;
步骤824,为目标节点生成节点调度命令,节点调度命令包括目标策略对象所关联的调度策略;
步骤826,根据节点调度命令,为目标节点添加调度策略指定的节点标签信息;或者,根据节点调度命令,为目标节点添加调度策略指定的污点信息;
步骤828,将目标节点作为满足调度策略的资源;
步骤830,接收服务关联请求,服务关联请求包括服务标识和策略标识;
步骤832,响应服务关联请求,将服务标识对应的目标服务关联至策略标识对应的目标策略对象;
步骤834,为目标服务生成服务调度命令,服务调度命令包括目标策略对象所关联的调度策略;
步骤836,根据服务调度命令为目标服务添加调度策略指定的节点选择器信息;或者,根据服务调度命令为目标服务添加调度策略指定的容忍信息;
步骤838,接收针对目标服务的资源调度请求;
步骤840,响应资源调度请求,调度满足调度策略的资源运行目标服务;
步骤842,接收针对目标服务的关联解除请求;
步骤844,响应关联解除请求,解除目标服务与目标策略对象之间的关联关系,并删除为目标服务添加的与目标策略对象关联的调度策略;
步骤846,接收针对目标节点的关联解除请求;
步骤848,响应关联解除请求,解除目标节点与目标策略对象之间的关联关系,并删除为目标节点添加的与目标策略对象关联的调度策略。
步骤850,根据目标服务更新后的调度信息满足调度信息的资源运行目标服务。
如图9所示,为一个具体的应用场景中资源调度方法的时序图。参照图8,执行主体包括管理界面、资源管理模块、k8sAdmin模块和服务调度模块,维护人员通过管理界面请求新增节点的标签;资源管理模块进行相应的响应,创建节点的标签和对应的选择器;资源管理模块在该标签和选择器的基础上,构造出目标策略对象;维护人员通过管理界面下发将目标节点关联至该目标策略对象的请求;资源管理模块将目标节点关联至该目标策略对象,并调用k8sAdmin模块,基于Kubernetes的高级调度机制为该目标节点添加该目标策略对象关联的标签信息;维护人员通过管理界面下发将目标服务关联至该目标策略对象的请求;资源管理模块将目标服务关联至该目标策略对象,并调用k8sAdmin模块,基于Kubernetes的高级调度机制为该目标服务添加该目标策略对象关联的选择器信息;最后,当资源管理模块接收到启动目标服务的消息时,就可以调用服务调度模块,将目标服务调度至该目标节点上运行。
对于污点与容忍,和标签与选择器一样,也是同样的处理流程,在此不再赘述。此外,维护人员还可以通过管理界面下发解除目标节点关联策略对象的请求,资源管理模块可以解除目标节点与该目标策略对象之间的关联,并调用k8sadmin模块,基于Kubernetes的高级调度机制删除为节点添加的标签信息,当需要为目标服务调度资源时,维护人员只需要将其它节点关联至该目标策略对象,就可以获得满足目标服务的调度信息的资源。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种资源调度装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:第一接收模块1002、服务关联模块1004、策略执行模块1006、第二接收模块1008和调度模块1010,其中:
第一接收模块1002,用于接收服务关联请求,服务关联请求包括服务标识和策略标识;
服务关联模块1004,用于响应服务关联请求,将服务标识对应的目标服务关联至策略标识对应的目标策略对象;
策略执行模块1006,用于对目标服务执行目标策略对象所关联的调度策略;
第二接收模块1008,用于接收针对目标服务的资源调度请求;
调度模块1010,用于响应资源调度请求,调度满足调度策略的资源运行目标服务。
在一个实施例中,上述装置还包括节点关联模块,用于接收节点关联请求,节点关联请求包括节点标识和策略标识;响应节点关联请求,将节点标识对应的目标节点关联至策略标识对应的目标策略对象;对目标节点执行目标策略对象所关联的调度策略;将目标节点作为满足调度策略的资源。
在一个实施例中,策略执行模块1006还用于为目标节点生成节点调度命令,节点调度命令包括目标策略对象所关联的调度策略;根据节点调度命令为目标节点添加调度策略。
在一个实施例中,策略执行模块1006还用于根据节点调度命令,为目标节点添加调度策略指定的节点标签信息;或者,根据节点调度命令,为目标节点添加调度策略指定的污点信息。
在一个实施例中,上述装置还包括节点关联解除模块,用于接收针对目标节点的关联解除请求;响应关联解除请求,解除目标节点与目标策略对象之间的关联关系,并删除为目标节点添加的与目标策略对象关联的调度策略。
在一个实施例中,策略执行模块1006还用于为目标服务生成服务调度命令,服务调度命令包括目标策略对象所关联的调度策略;根据服务调度命令为目标服务添加调度策略。
在一个实施例中,策略执行模块1006还用于根据服务调度命令为目标服务添加调度策略指定的节点选择器信息;或者,根据服务调度命令为目标服务添加调度策略指定的容忍信息。
在一个实施例中,上述装置还包括服务关联解除模块,用于接收针对目标服务的关联解除请求;响应关联解除请求,解除目标服务与目标策略对象之间的关联关系,并删除为目标服务添加的与目标策略对象关联的调度策略。
在一个实施例中,上述装置还包括策略对象构造模块,用于获取已创建的节点标签及已创建的与节点标签对应的节点选择器;确定节点标签和节点选择器所对应的调度策略;构造策略对象,并将构造的策略对象与调度策略关联。
在一个实施例中,上述装置还包括标签创建模块,用于获取标签创建请求,标签创建请求包括节点标签的键值型属性数据;根据键值型属性数据创建节点标签;创建与节点标签对应的节点选择器。
在一个实施例中,上述装置还包括策略对象构造模块,用于获取已创建的污点及已创建的与污点对应的容忍;确定污点及容忍所对应的调度策略;构造策略对象,并将构造的策略对象与调度策略关联。
在一个实施例中,上述装置还包括污点创建模块,用于获取污点创建请求,污点创建请求包括污点的键值型属性数据;根据键值型属性数据创建污点;创建与污点对应的容忍。
在一个实施例中,调度模块1010还用于响应资源调度请求,从集群中确定满足调度策略的节点;从满足调度策略的节点中确定可调度节点;将目标服务调度至可调度节点上运行。
上述资源调度装置,将具体的调度规则抽象成策略对象,当需要采用某个调度策略调度目标服务时,前台维护人员只需要通过云平台上发出服务关联请求即可,通过该服务关联请求中的服务标识和策略标识,就可以将服务标识对应的目标服务关联至策略标识对应的目标策略对象,该目标策略对象关联了某一个具体的调度策略,目标服务关联了该调度策略之后,就可以对该目标服务执行该调度策略,在需要为该服务调度资源时,就可以将该目标服务调度至满足该调度策略的资源。
一方面,通过抽象出策略对象并将资源和服务同时关联到这个策略对象,就可以实现将服务调度到该资源上;另一方面,该策略对象还可以保证资源与服务之间的双向选择,当需要变更调度至该资源上的服务时,可以随时改变关联至该策略对象的服务信息,或者,当需要变更用于运行该服务的资源时,可以随时改变关联这个策略的资源信息,相比于前台维护人员请求为服务或资源添加调度规则而言,操作更简单;并且,在跨集群资源调度的场景下,资源的数量更多,直接为服务或资源添加调度规则就会更繁琐,重复工作就会更多,而通过将跨集群或跨地域资源直接关联至策略对象,资源可以批量关联至策略对象,就可以避免这些繁复的操作。基于此,上述资源调度方法可以大大的降低了运维人员的工作量和难度,资源调度就会被大大简化,提高了资源调度的效率。
关于资源调度装置的具体限定可以参见上文中对于资源调度方法的限定,在此不再赘述。上述资源调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是资源调度服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源调度方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种资源调度方法,所述方法包括:
接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
对所述目标服务执行所述目标策略对象所关联的调度策略;
接收针对所述目标服务的资源调度请求;
响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收节点关联请求,所述节点关联请求包括节点标识和策略标识;
响应所述节点关联请求,将所述节点标识对应的目标节点关联至所述策略标识对应的目标策略对象;
对所述目标节点执行所述目标策略对象所关联的调度策略;
将所述目标节点作为满足所述调度策略的资源。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标节点执行所述目标策略对象所关联的调度策略包括:
为所述目标节点生成节点调度命令,所述节点调度命令包括所述目标策略对象所关联的调度策略;
根据所述节点调度命令为所述目标节点添加所述调度策略。
4.根据权利要求3所述的方法,其特征在于,所述根据所述节点调度命令为所述目标节点添加所述调度策略包括:
根据所述节点调度命令,为所述目标节点添加所述调度策略指定的节点标签信息;或者,根据所述节点调度命令,为所述目标节点添加所述调度策略指定的污点信息。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收针对所述目标节点的关联解除请求;
响应所述关联解除请求,解除所述目标节点与所述目标策略对象之间的关联关系,并删除为所述目标节点添加的与所述目标策略对象关联的调度策略。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标服务执行所述目标策略对象所关联的调度策略包括:
为所述目标服务生成服务调度命令,所述服务调度命令包括所述目标策略对象所关联的调度策略;
根据所述服务调度命令为所述目标服务添加所述调度策略。
7.根据权利要求6所述的方法,其特征在于,所述根据所述服务调度命令为所述目标服务添加所述调度策略包括:
根据所述服务调度命令为所述目标服务添加所述调度策略指定的节点选择器信息;或者,根据所述服务调度命令为所述目标服务添加所述调度策略指定的容忍信息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述目标服务的关联解除请求;
响应所述关联解除请求,解除所述目标服务与所述目标策略对象之间的关联关系,并删除为所述目标服务添加的与所述目标策略对象关联的调度策略。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取已创建的节点标签及已创建的与所述节点标签对应的节点选择器;
确定所述节点标签和所述节点选择器所对应的调度策略;
构造策略对象,并将构造的策略对象与所述调度策略关联。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取标签创建请求,所述标签创建请求包括节点标签的键值型属性数据;
根据所述键值型属性数据创建节点标签;
创建与所述节点标签对应的节点选择器。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取已创建的污点及已创建的与所述污点对应的容忍;
确定所述污点及所述容忍所对应的调度策略;
构造策略对象,并将构造的策略对象与所述调度策略关联。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务包括:
响应所述资源调度请求,从集群中确定满足所述调度策略的节点;
从满足所述调度策略的节点中确定可调度节点;
将所述目标服务调度至所述可调度节点上运行。
13.一种资源调度装置,所述装置包括:
第一接收模块,用于接收服务关联请求,所述服务关联请求包括服务标识和策略标识;
服务关联模块,用于响应所述服务关联请求,将所述服务标识对应的目标服务关联至所述策略标识对应的目标策略对象;
策略执行模块,用于对所述目标服务执行所述目标策略对象所关联的调度策略;
第二接收模块,用于接收针对所述目标服务的资源调度请求;
调度模块,用于响应所述资源调度请求,调度满足所述调度策略的资源运行所述目标服务。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202011399837.XA 2020-12-04 2020-12-04 资源调度方法、装置、计算机设备和存储介质 Active CN112199200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011399837.XA CN112199200B (zh) 2020-12-04 2020-12-04 资源调度方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011399837.XA CN112199200B (zh) 2020-12-04 2020-12-04 资源调度方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112199200A true CN112199200A (zh) 2021-01-08
CN112199200B CN112199200B (zh) 2021-03-02

Family

ID=74033827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011399837.XA Active CN112199200B (zh) 2020-12-04 2020-12-04 资源调度方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112199200B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434283A (zh) * 2021-08-26 2021-09-24 广州三七互娱科技有限公司 服务调度方法及装置、服务器、计算机可读存储介质
CN114721743A (zh) * 2022-04-15 2022-07-08 支付宝(杭州)信息技术有限公司 任务执行方法、装置和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110276974A1 (en) * 2010-05-07 2011-11-10 Jaewoong Chung Scheduling for multiple memory controllers
CN106407017A (zh) * 2016-10-31 2017-02-15 华南理工大学 面向rfid的复杂事件规则动态调度与数据恢复方法
CN109375992A (zh) * 2018-08-17 2019-02-22 华为技术有限公司 一种资源调度方法及装置
CN109684065A (zh) * 2018-12-26 2019-04-26 北京云联万维技术有限公司 一种资源调度方法、装置及系统
CN110858160A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源调度方法及装置、存储介质和处理器
CN111464659A (zh) * 2020-04-27 2020-07-28 广州虎牙科技有限公司 节点的调度、节点的预选处理方法、装置、设备及介质
CN112099938A (zh) * 2019-06-18 2020-12-18 瞻博网络公司 使用多维元数据标签集确定分布式计算环境中的资源分配

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110276974A1 (en) * 2010-05-07 2011-11-10 Jaewoong Chung Scheduling for multiple memory controllers
CN106407017A (zh) * 2016-10-31 2017-02-15 华南理工大学 面向rfid的复杂事件规则动态调度与数据恢复方法
CN109375992A (zh) * 2018-08-17 2019-02-22 华为技术有限公司 一种资源调度方法及装置
CN110858160A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源调度方法及装置、存储介质和处理器
CN109684065A (zh) * 2018-12-26 2019-04-26 北京云联万维技术有限公司 一种资源调度方法、装置及系统
CN112099938A (zh) * 2019-06-18 2020-12-18 瞻博网络公司 使用多维元数据标签集确定分布式计算环境中的资源分配
CN111464659A (zh) * 2020-04-27 2020-07-28 广州虎牙科技有限公司 节点的调度、节点的预选处理方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434283A (zh) * 2021-08-26 2021-09-24 广州三七互娱科技有限公司 服务调度方法及装置、服务器、计算机可读存储介质
CN114721743A (zh) * 2022-04-15 2022-07-08 支付宝(杭州)信息技术有限公司 任务执行方法、装置和电子设备
CN114721743B (zh) * 2022-04-15 2024-02-13 支付宝(杭州)信息技术有限公司 任务执行方法、装置和电子设备

Also Published As

Publication number Publication date
CN112199200B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN111324571B (zh) 一种容器集群管理方法、装置及系统
US10511506B2 (en) Method and device for managing virtualized network function
CN108399101B (zh) 资源调度的方法、装置和系统
EP3975474B1 (en) Methods and apparatuses for chaining service data
CN111290828A (zh) 使用容器编排服务进行动态路由
GB2503546A (en) Document suggestion by user action association and threshold comparison
CN112199200B (zh) 资源调度方法、装置、计算机设备和存储介质
WO2017045450A1 (zh) 资源的操作处理方法及装置
CN113377348A (zh) 应用于任务引擎的任务调整方法、相关装置和存储介质
CN113037891B (zh) 边缘计算系统中有状态应用的访问方法、装置及电子设备
CN110888736A (zh) 一种基于容器云平台的应用管理方法、系统及相关组件
CN103036855A (zh) 一种权限管理的实现设备和方法
US20230153100A1 (en) Method and apparatus for managing model file in inference application
CN115185679A (zh) 人工智能算法的任务处理方法、装置、服务器及存储介质
CN111104548A (zh) 一种数据反馈方法、系统及存储介质
CN111222153B (zh) 应用程序权限管理方法、装置和存储介质
US20090112704A1 (en) Management tool for efficient allocation of skills and resources
CN114443294B (zh) 大数据服务组件部署方法、系统、终端及存储介质
CN117435215A (zh) 研发环境部署方法、系统、计算机设备和存储介质
CN113296913A (zh) 基于单集群的数据处理方法、装置、设备及存储介质
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN112217849A (zh) Sd-wan系统中的任务调度方法、系统和计算机设备
CN112650509B (zh) 应用安装包生成方法、装置、计算机设备和存储介质
US10789282B1 (en) Document indexing with cluster computing
CN117908914A (zh) 一种组件部署升级方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40037755

Country of ref document: HK