CN110221915B - 节点调度方法和装置 - Google Patents

节点调度方法和装置 Download PDF

Info

Publication number
CN110221915B
CN110221915B CN201910422969.0A CN201910422969A CN110221915B CN 110221915 B CN110221915 B CN 110221915B CN 201910422969 A CN201910422969 A CN 201910422969A CN 110221915 B CN110221915 B CN 110221915B
Authority
CN
China
Prior art keywords
node
dimension
memory
resource
amount
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.)
Active
Application number
CN201910422969.0A
Other languages
English (en)
Other versions
CN110221915A (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN201910422969.0A priority Critical patent/CN110221915B/zh
Publication of CN110221915A publication Critical patent/CN110221915A/zh
Application granted granted Critical
Publication of CN110221915B publication Critical patent/CN110221915B/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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提出一种节点调度方法和装置,涉及资源调度技术领域。通过获取节点的多个维度数据,根据每个维度数据得到每个维度对应的评分,并根据每个维度的重要等级,预设每个维度的权重值,对每个维度对应的评分和权重值进行加权求和,从而得到节点对应的总评分,将符合预设要求的节点作为调度的目标节点,进而能够多维度获取节点资源的占用情况,使得对目标节点的选取更加合理,提升了用户的体验度。

Description

节点调度方法和装置
技术领域
本公开涉及资源管理技术领域,具体而言,涉及一种节点调度方法和装置。
背景技术
目前,资源调度是Kubernetes这种大规模数据中心的核心模块之一,是云计算得以大规模的应用和提高云平台系统性能并兼顾成本最小化的核心技术,一个好的调度系统能够根据用户的请求来为用户选择合适的可用资源,并能够确保在容器生命周期内有足够的资源来支撑其运行,且能够提高集群资源的利用率。
现有技术中,Kubernetes默认采用的调度算法是系统自带的default算法,通常是经过predicate策略筛选出了多个符合条件的节点,则通过priorities策略对所选节点进行评分,选出最适合的节点。
但是,采用现有技术,在priorities策略对所选节点进行评分的过程中,仅仅只考虑了节点上的中央处理器(CPU)和内存资源,无法真实的反映节点的资源使用情况,使得节点的资源调度不合理,导致用户体验不佳。
发明内容
本公开的目的在于提供一种节点调度方法和装置,能够多维度获取节点资源的占用情况,使得对目标节点的选取更加合理,提升了用户的体验度。
为了实现上述目的,本公开采用的技术方案如下:
第一方面,本公开提出一种节点调度方法,应用于容器的集群管理系统,该容器的集群管理系统包括多个节点,包括:
获取节点的维度数据,根据维度数据得到每个维度对应的评分,其中,维度包括:节点的中央处理器和内存资源、中央处理器和内存的负载均衡、镜像获取能力、以及存储能力;
根据每个维度的重要等级,预设每个维度的权重值;
根据每个维度对应的评分和权重值,得到节点对应的总评分;
根据总评分,调度符合预设要求的目标节点。
第二方面,本公开还提出一种节点调度装置,应用于容器的集群管理系统,该容器的集群管理系统包括多个节点,包括:
评分模块,用于获取节点的维度数据,根据维度数据获取每个维度对应的评分,其中,维度包括:节点的中央处理器和内存资源、负载均衡、镜像获取能力和存储能力;
权重值模块,用于根据每个维度的重要等级,预设每个维度的权重值;
处理模块,根据每个维度对应的评分和权重值,得到节点对应的总评分;
调度模块,用于根据总评分,调度符合预设要求的节点。
第三方面,本公开还提出一种电子设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。
第四方面,本公开还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面所述的方法。
相对现有技术,本公开具有以下有益效果:
通过获取节点的多个维度数据,根据每个维度数据得到每个维度对应的评分,并根据每个维度的重要等级,预设每个维度的权重值,对每个维度对应的评分和权重值进行加权求和,从而得到节点对应的总评分,将符合预设要求的的节点作为调度的目标节点,进而能够多维度获取节点资源的占用情况,使得对目标节点的选取更加合理,提升了用户的体验度。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开所提供的一种容器的集群管理系统应用环境示意图;
图2示出了本公开所提供的一种节点调度方法的流程示意图;
图3示出了本公开所提供的另一种节点调度方法的流程示意图;
图4示出了本公开所提供的另一种节点调度方法的流程示意图;
图5示出了本公开所提供的另一种节点调度方法的流程示意图;
图6示出了本公开所提供的另一种节点调度方法的流程示意图;
图7示出了本公开所提供的一种节点调度装置的功能模块示意图;
图8示出了本公开所提供的一种评分模块的功能模块示意图;
图9示出了本公开所提供的一种电子设备的功能模块示意图。
具体实施方式
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参照图1,为本公开所提供的一种容器的集群管理系统应用环境示意图。该容器的集群管理系统100应用于Kubernetes集群,包括多个节点,具体包括1个主节点(Master)101和多个子节点(Node)102,主节点(Master)101主要负责管理集群,提供集群的资源数据访问入口,可以实现整个集群的资源管理、操作单元(Pod)调度、弹性伸缩、安全控制、系统监控和纠错等管理能力。多个子节点(Node)102是Kubernetes集群的操作单元,运行真正的应用程序,负责操作单元(Pod)的创建、启动、监控、重启、销毁以及实现软件模式的负载均衡器,其中,在子节点(Node)102上Kubernetes管理的最小运行单元是操作单元(Pod),一个操作单元(Pod)可以包含一个容器或者多个相关容器,操作单元(Pod)运行在子节点(Node)的环境中,该子节点(Node)可以是物理机,也可以是虚拟机,具体在此不作限定。
请参照图2,为本公开所提供的一种节点调度方法的流程示意图。该方法应用于图1所示的容器的集群管理系统中。需要说明的是,本公开所述的节点调度方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的节点调度方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的流程进行详细阐述。
步骤201,获取节点的维度数据,根据维度数据得到每个维度对应的评分。
其中,评估节点的维度可以包括:节点的中央处理器和内存资源、中央处理器和内存的负载均衡、镜像获取能力、以及存储能力。
具体的,影响节点资源调度的因素有很多,如:节点的中央处理器和内存资源、中央处理器和内存的负载均衡、镜像获取能力、以及存储能力等,其中,对于节点的中央处理器和内存资源的维度数据,包括:节点中央处理器和内存的资源总量、已使用资源量和待调度资源量等,可以基于选择资源(中央处理器和内存)使用率最低的节点作为目标节点;对于中央处理器和内存的负载均衡的维度数据,包括:中央处理器和内存的资源总量、已使用资源量和待调度资源量等,可以基于节点的资源(中央处理器和内存)均衡角度来考虑,选取中央处理器和内存使用率的差异最小的节点作为目标节点;对于镜像获取能力的维度数据,包括:节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度等,可以基于节点的镜像拉取时间最快的节点作为目标节点;对于存储能力的维度数据,包括:节点的总磁盘资源量、已使用磁盘资源量、待调度磁盘资源量、节点与存储系统间的数据传输速度等,可以基于节点不同的存储方式对应的存储能力最强的节点作为目标节点;由此可知,基于上述多个不同维度分别对节点有不同的影响,因此,可以从多个角度综合对节点的进行评估,对节点的每一个维度进行评分,能够多维度获取节点资源的占用情况,使得对目标节点的选取更加合理。
步骤202,根据每个维度的重要等级,预设每个维度的权重值。
具体的,通过对每个维度来综合评估节点时,每个维度对节点的影响程度是不同的,因此,需要考虑每个维度的重要等级,为每个维度设置不同的权重值,例如:上述维度中等级最重要的是节点的中央处理器和内存资源,可以对节点的中央处理器和内存资源设置5/8的权重值,对中央处理器和内存的负载均衡、镜像获取能力、以及存储能力分别设置1/8的权重值,具体的可以根据实际情况来设定,并不作限定。
步骤203,根据每个维度对应的评分和权重值,得到节点对应的总评分。
具体的,根据上述得到每个维度对应的评分和权重值,就可以对节点进行综合评估了,得到该节点的总评分,具体可以通过如下公式:
Si=wCMCMi+wBBi+wIMIMi+wDIDIi
其中,Si表示任一节点i的总评分,i为大于等于1的正整数,wCM表示节点i的中央处理器和内存资源的权重值,wB表示节点i的中央处理器和内存的负载均衡的权重值,wIM表示节点i的镜像获取能力的权重值,wDI表示节点i的存储能力的权重值,CMi表示节点i的中央处理器和内存资源对应的评分,Bi表示节点i的中央处理器和内存负载均衡对应的评分,IMi表示节点i的镜像获取能力对应的评分,DIi表示节点i的存储能力对应的评分。
步骤204,根据总评分,调度符合预设要求的目标节点。
具体的,根据上述计算得到集群中所有节点的总评分,从所有节点的总评分中选取总评分最高的节点作为分配待调度Pod的目标节点,还可以选取对应的总评分满足预设阈值的节点作为分配待调度Pod的目标节点,具体的预设要求可以根据实际情况来设置,在此不作限定。
本公开提出一种节点调度方法,通过获取每个节点的维度数据,根据每个维度数据得到每个维度对应的评分、以及每个维度的权重值,计算得到每个节点对应的总评分,从所有节点的总评分中选取符合预设要求的节点作为分配待调度Pod的宿主机,由于对节点进行评分时,综合考虑节点的中央处理器和内存资源、中央处理器和内存的负载均衡、镜像获取能力、以及存储能力等不同的维度,并根据不同维度的重要程度设置了的不同权重,对节点的评分考虑更加全面,能够多维度获取节点资源的占用情况,使得对目标节点的选取更加合理,提升了用户的体验度。
请参照图3,为本公开所提供的另一种节点调度方法的流程示意图。可选的,获取节点的维度数据,根据维度数据得到每个维度对应的评分,包括:
步骤301,分别获取节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量。
具体的,对节点中央处理器和内存的资源进行评分,需要分别获取每个节点的中央处理器和内存的资源总量、已使用资源量、以及待调度资源量等维度数据,可以假设节点i的中央处理器CPU的资源总量为Ci,节点i的内存的资源总量为Mi,节点i的中央处理器CPU已使用资源量和待调度资源量之和(也即中央处理器CPU的资源占用量)为ci,节点i的内存已使用资源量和待调度资源量之和(也即内存的资源占用量)为mi,其中,i为大于等于1的正整数。
步骤302,根据内存的已使用资源量和待调度资源量之和,以及内存的资源总量,得到内存的资源占用比。
具体的,内存为不可压缩资源,当节点的内存资源紧缺,出现资源抢占时,可能导致某些操作单元Pod被Kill,而节点的中央处理器CPU资源是可压缩资源,当CPU资源不足,发生资源抢占时,每个Pod将会按照各自的请求Requst的比值进行分配,以此解决CPU资源不足的问题。例如在一示例中,假设在部署了Pod(1,2)的基础上,又部署了资源限制和Pod1相同的两个容器Pod(3,4),4个Pod设置的Request都为1U,发生CPU资源抢占时,每个Pod分到的CPU时间片为1U/(1U×4),实际占用的CPU核数为1U。由此可知,假设四个Pod同时负载变高,CPU使用量超过1U,这个时候每个Pod将会按照各自的Request设置按比例分占CPU调度的时间片。由此可知,可压缩资源和不可压缩资源出现资源紧缺时导致的后果不同,因此,需要计算mi/Mi得到的内存的资源占用比,通过该内存的资源占用比,来分别确定节点的中央处理器和内存资源对应的权重值。
步骤303,根据内存的资源占用比确定中央处理器和内存对应的权重值。
具体的,假设wi c表示节点i的中央处理器CPU对应的权重值,wi M表示任一节点i的内存对应的权重值,其中,i为大于等于1的正整数。
Figure BDA0002066612400000081
需要说明的是,当
Figure BDA0002066612400000082
时,
Figure BDA0002066612400000083
Figure BDA0002066612400000084
时,
Figure BDA0002066612400000085
步骤304,根据中央处理器和内存的剩余资源量与资源总量的比值以及对应的权重值,分别得到节点的中央处理器和内存资源维度对应的评分。
具体的,节点的中央处理器的剩余资源量与总资源量的比值可以通过公式
Figure BDA0002066612400000086
得到,节点的内存的剩余资源量与总资源量的比值可以通过公式
Figure BDA0002066612400000087
得到,则节点的中央处理器和内存资源维度对应的评分CMi可以通过以下公式来计算:
Figure BDA0002066612400000088
其中,wi c表示节点i的中央处理器CPU对应的权重值,Ci表示节点i的中央处理器CPU的资源总量,ci表示节点i的中央处理器CPU已使用资源量和待调度资源量之和(也即中央处理器CPU的资源占用量),wi M表示节点i的内存对应的权重值,Mi表示节点i的内存的资源总量,mi表示节点i的内存已使用资源量和待调度资源量之和(也即内存的资源占用量),其中,i为大于等于1的正整数。
需要说明的是,当
Figure BDA0002066612400000091
Figure BDA0002066612400000092
时,CMi=0。
请参照图4,为本公开所提供的另一种节点调度方法的流程示意图。可选的,获取节点的维度数据,根据维度数据得到每个维度对应的评分,包括:
步骤401,分别获取节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量。
具体的,对节点的中央处理器和内存的负载均衡进行评分,也需要分别获取每个节点的中央处理器和内存的资源总量、已使用资源量、以及待调度资源量等维度数据。
步骤402,根据内存和中央处理器的已使用资源量和待调度资源量之和,以及内存和中央处理器的资源总量,分别得到内存的资源占用比和中央处理器的资源占用比;
具体的,通过上述获取的维度数据,可以分别得到节点的内存占用率和节点的中央处理器占用率,具体通过以下公式得到:
Figure BDA0002066612400000093
Figure BDA0002066612400000094
其中,Ci为节点i的中央处理器CPU的资源总量,Mi为节点i的内存的资源总量,ci为节点i的中央处理器CPU已使用资源量和待调度资源量之和(也即中央处理器CPU的资源占用量),mi为节点i的内存已使用资源量和待调度资源量之和(也即内存的资源占用量),i为大于等于1的正整数。
步骤403,计算内存的资源占用比和中央处理器的资源占用比之差的绝对值,根据绝对值得到节点的中央处理器和内存的负载均衡维度对应的评分。
具体的,从节点的中央处理器和内存的负载均衡的角度来考虑,则节点的中央处理器和内存负载均衡维度对应的评分Bi可以通过以下公式得到:
Figure BDA0002066612400000101
请参照图5,为本公开所提供的另一种节点调度方法的流程示意图。可选的,获取节点的维度数据,根据维度数据得到每个维度对应的评分,包括:
步骤501,获取节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度。
具体的,由于节点的镜像获取能力直接影响着操作单元Pod的启动时间,需要考虑节点的获取能力,获取每个节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度的维度数据,其中,可以假设待调度所需镜像资源量为Im,单位为MB,节点i上存在的所需镜像资源量为Imi,节点i下载镜像资源的速度为Vi,单位为MB/s,i为大于等于1的正整数。
步骤502,根据节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度,得到节点的镜像获取能力维度对应的评分。
具体的,节点的镜像获取能力维度可以通过镜像拉取时间来评价,因为镜像拉取时间越快,其对应的评分应越高,节点的镜像获取能力维度对应的评分IMi可以通过以下公式得到:
Figure BDA0002066612400000111
需要说明的是,当Im=Imi时,IMi=1。
请参照图6,为本公开所提供的另一种节点调度方法的流程示意图。可选的,获取节点的维度数据,根据维度数据得到每个维度对应的评分,包括:
步骤600,获取节点的存储方式。
具体的,任何应用都需要使用存储资源,因此,需要考虑节点的存储能力,其中,在kubernetes中的存储分为本地存储和分布式存储,所以需要了解待调度节点的存储策略,即需要获取节点的存储方式是本地存储还是分布式存储。
步骤S601,若存储方式为本地存储时,获取节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量。
具体的,若存储方式为本地存储时,则节点的总磁盘资源是作为判断该节点的存储能力的主要因素,需要获取节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,可以假设节点i的磁盘总资源量为Di,节点i已使用磁盘资源量为di,待调度磁盘资源量为pi,i为大于等于1的正整数。
步骤602,根据节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,得到节点的磁盘剩余资源量。
具体的,节点的磁盘剩余资源量可以通过以下公式计算得到:
Di-di-pi。
步骤603,根据节点的磁盘剩余资源量与磁盘资源总量,得到节点的存储能力维度对应的评分。
具体的,节点的存储能力维度对应的评分DIi可以通过节点的剩余可用磁盘资源率,即以下公式得到:
Figure BDA0002066612400000121
可选的,步骤S600,获取节点的存储方式之后,方法还包括:
步骤710,若存储方式为分布式存储时,则获取节点与存储系统间的数据传输速度,得到节点的存储能力维度对应的评分。
具体的,若存储方式为分布式存储时,节点与存储系统间的数据传输速度直接影响着操作单元Pod中应用的读写速度,假设节点i与存储系统间的数据传输速度为DVi,节点i的存储能力维度对应的评分可以通过DVi作为评分标准,即DIi=DVi
进一步的,根据总评分,调度符合预设要求的目标节点,包括:
确定所有维度对应的评分均大于零的节点为待调度节点;
根据各待调度节点的总评分,调度总评分满足预设阈值的待调度节点。
具体的,通过上述方法对各节点的所有维度完成对应的评分后,可以根据各节点的所有维度对应的评分进行判断,确定所有维度CM、B、IM、DI的值是否均大于0,如果均大于0,则说明该节点符合调度要求,可以选择该节点作为待调度节点,反之,当节点中CM、B、IM、DI任意一个的值不大于0,则说明该节点,无法满足调度要求,因此,可以排除该节点作为待调度节点,然后再从可以作为待调度节点中选取对应的总评分满足预设阈值的待调度节点作为目标节点,其中,也可以选取待调度节点中总评分最高的待调度节点作为目标节点,具体不作限定,可以根据实际情况来。
进一步的,根据每个维度对应的评分和权重值,得到节点对应的总评分之前,上述方法还包括:
对节点的镜像获取能力和存储能力对应的评分按照如下公式进行归一化处理:
x'=(x-Xmin)/(Xmax-Xmin);
其中,x为节点的镜像获取能力或存储能力维度对应的评分,Xmin为节点的镜像获取能力或存储能力维度对应的评分的最小值,Xmax为节点的镜像获取能力或存储能力维度对应的评分的最大值。
具体的,为保证每个维度对应的评分在0到1范围内,使用如下最大最小归一化公式分别对每个节点的IMi、DIi进行归一化处理:
x'=(x-Xmin)/(Xmax-Xmin);
其中,x'为节点i的IMi或DIi归一化结果,x为节点i的IMi或DIi,Xmin为节点i的IMi或DIi的最小值,Xmax为节点i的IMi或DIi的最大值,其中,i为大于等于1的整数。
请参照图7,为本公开所提供的一种节点调度装置的功能模块示意图。需要说明的是,本实施例所提供的节点调度装置700,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该节点调度装置700应用于容器的集群管理系统,该容器的集群管理系统包括多个节点,该节点调度装置700包括:
评分模块701用于获取节点的维度数据,根据维度数据获取每个维度对应的评分,其中,维度包括:节点的中央处理器和内存资源、负载均衡、镜像获取能力和存储能力;
权重值模块702,用于根据每个维度的重要等级,预设每个维度的权重值;
处理模块703,根据每个维度对应的评分和权重值,得到节点对应的总评分;
调度模块704,用于根据总评分,调度符合预设要求的节点。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
可选的,请参照图8,为本公开所提供的一种评分模块的功能模块示意图。评分模块701评分模块包括第一评分模块7011、第二评分模块7012、第三评分模块7013和第四评分模块7014;
第一评分模块7011用于分别获取节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量;
根据内存的已使用资源量和待调度资源量之和,以及内存的资源总量,得到内存的资源占用比;
根据内存的资源占用比确定中央处理器和内存对应的权重值;
根据中央处理器和内存的剩余资源量与资源总量的比值以及对应的权重值,分别得到节点的中央处理器和内存资源维度对应的评分。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
第二评分模块7012用于分别获取节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量;
根据内存和中央处理器的已使用资源量和待调度资源量之和,以及内存和中央处理器的资源总量,分别得到内存的资源占用比和中央处理器的资源占用比;
计算内存的资源占用比和中央处理器的资源占用比之差的绝对值,根据绝对值得到节点的中央处理器和内存的负载均衡维度对应的评分。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
第三评分模块7013用于获取节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度;
根据节点上存在的所需镜像资源量、待调度所需镜像资源量、以及节点下载镜像资源的速度,得到节点的镜像获取能力维度对应的评分。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
第四评分模块7014用于获取节点的维度数据,根据维度数据得到每个维度对应的评分,包括:
获取节点的存储方式,若存储方式为本地存储时,获取节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量;
根据节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,得到节点的磁盘剩余资源量;
根据节点的磁盘剩余资源量与磁盘资源总量,得到节点的存储能力维度对应的评分;
若存储方式为分布式存储时,则获取节点与存储系统间的数据传输速度,得到节点的存储能力维度对应的评分。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
进一步的,上述调度模块704用于根据总评分,调度符合预设要求的目标节点,包括:
调度模块704用于确定所有维度对应的评分均大于零的节点为待调度节点;
根据各待调度节点的总评分,调度总评分满足预设阈值的待调度节点。
进一步的,处理模块703用于根据每个维度对应的评分和权重值,得到节点对应的总评分之前,还包括:
对节点的镜像获取能力和存储能力对应的评分按照如下公式进行归一化处理:
x'=(x-Xmin)/(Xmax-Xmin);
其中,x为节点的镜像获取能力或存储能力维度对应的评分,Xmin为节点的镜像获取能力或存储能力维度对应的评分的最小值,Xmax为节点的镜像获取能力或存储能力维度对应的评分的最大值。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
请参照图9,为本公开所提供的一种电子设备的功能模块示意图。该电子设备可以包括存储有计算机程序的计算机可读存储介质801和处理器802,处理器802可以调用计算机可读存储介质801存储的计算机程序。当该计算机程序被处理器802读取并运行,可以实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本公开还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
在本公开所提供的几个实施例中,应该理解到,以上所描述的装置实施例仅仅是示意性的,所揭露的装置和方法,可以通过其它的方式实现。例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行,例如各单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (9)

1.一种节点调度方法,应用于容器的集群管理系统,所述容器的集群管理系统包括多个节点,其特征在于,所述方法包括:
获取节点上存在的所需镜像资源量、待调度所需镜像资源量、以及所述节点下载镜像资源的速度;
根据所述节点上存在的所需镜像资源量、待调度所需镜像资源量、以及所述节点下载镜像资源的速度,得到所述节点的镜像获取能力维度对应的评分;
获取所述节点的其他维度数据,根据所述维度数据得到每个其他维度对应的评分,其中,所述其他维度包括:节点的中央处理器和内存资源、中央处理器和内存的负载均衡、以及存储能力;
根据镜像获取能力维度和各其他维度的重要等级,预设每个维度的权重值;
根据所述每个维度对应的评分和权重值,得到所述节点对应的总评分;
根据所述总评分,调度符合预设要求的目标节点。
2.根据权利要求1所述的节点调度方法,其特征在于,所述获取所述节点的其他维度数据,根据所述维度数据得到每个其他维度对应的评分,包括:
分别获取所述节点的中央处理器和内存的资源总量、已使用资源量、以及待调度资源量;
根据所述内存的已使用资源量和待调度资源量之和,以及所述内存的资源总量,得到所述内存的资源占用比;
根据所述内存的资源占用比确定所述中央处理器和所述内存对应的权重值;
根据所述中央处理器和所述内存的剩余资源量与资源总量的比值以及对应的权重值,分别得到所述节点的中央处理器和内存资源维度对应的评分。
3.根据权利要求1所述的节点调度方法,其特征在于,所述获取所述节点的其他维度数据,根据所述维度数据得到每个其他维度对应的评分,包括:
分别获取所述节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量;
根据所述内存和所述中央处理器的已使用资源量和待调度资源量之和,以及所述内存和所述中央处理器的资源总量,分别得到所述内存的资源占用比和所述中央处理器的资源占用比;
计算所述内存的资源占用比和所述中央处理器的资源占用比之差的绝对值,根据所述绝对值得到所述节点的中央处理器和内存的负载均衡维度对应的评分。
4.根据权利要求1所述的节点调度方法,其特征在于,所述获取所述节点的其他维度数据,根据所述维度数据得到每个其他维度对应的评分,包括:
获取所述节点的存储方式,若所述存储方式为本地存储时,获取所述节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量;
根据所述节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,得到所述节点的磁盘剩余资源量;
根据所述节点的磁盘剩余资源量与磁盘资源总量,得到所述节点的存储能力维度对应的评分;
若所述存储方式为分布式存储时,则获取所述节点与存储系统间的数据传输速度,得到所述节点的存储能力维度对应的评分。
5.根据权利要求1-4任一项所述的节点调度方法,其特征在于,所述根据所述总评分,调度符合预设要求的目标节点,包括:
确定所有维度对应的评分均大于零的节点为待调度节点;
根据各所述待调度节点的总评分,调度所述总评分满足预设阈值的所述待调度节点。
6.根据权利要求1所述的节点调度方法,其特征在于,所述根据所述每个维度对应的评分和权重值,得到所述节点对应的总评分之前,所述方法还包括:
对所述节点的镜像获取能力和存储能力对应的评分按照如下公式进行归一化处理:
x'=(x-Xmin)/(Xmax-Xmin);
其中,x为节点的镜像获取能力或存储能力维度对应的评分,Xmin为所述节点的镜像获取能力或存储能力维度对应的评分的最小值,Xmax为所述节点的镜像获取能力或存储能力维度对应的评分的最大值。
7.一种节点调度装置,应用于容器的集群管理系统,所述容器的集群管理系统系统包括多个节点,其特征在于,所述装置包括:
评分模块,用于获取所述节点上存在的所需镜像资源量、待调度所需镜像资源量、以及所述节点下载镜像资源的速度,根据所述节点上存在的所需镜像资源量、待调度所需镜像资源量、以及所述节点下载镜像资源的速度,得到所述节点的镜像获取能力维度对应的评分;获取节点的维度数据,根据所述维度数据获取每个维度对应的评分,其中,所述维度包括:节点的中央处理器和内存资源、负载均衡和存储能力;
权重值模块,用于根据每个维度的重要等级,预设每个维度的权重值;
处理模块,根据所述每个维度对应的评分和权重值,得到所述节点对应的总评分;
调度模块,用于根据所述总评分,调度符合预设要求的节点。
8.根据权利要求7所述的装置,其特征在于,评分模块包括第一评分模块、第二评分模块和第三评分模块;
所述第一评分模块用于分别获取所述节点的中央处理器和内存的资源总量、已使用资源量、以及待调度资源量,根据所述内存的已使用资源量和待调度资源量之和,以及所述内存的资源总量,得到所述内存的资源占用比,根据所述内存的资源占用比确定所述中央处理器和所述内存对应的权重值,根据所述中央处理器和所述内存的剩余资源量与资源总量的比值以及对应的权重值,分别得到所述节点的中央处理器和内存资源维度对应的评分;
第二评分模块用于分别获取所述节点的中央处理器和内存的资源总量、已使用资源量和待调度资源量,根据所述内存和所述中央处理器的已使用资源量和待调度资源量之和,以及所述内存和所述中央处理器的资源总量,分别得到所述内存的资源占用比和所述中央处理器的资源占用比,计算所述内存的资源占用比和所述中央处理器的资源占用比之差的绝对值,根据所述绝对值得到所述节点的中央处理器和内存的负载均衡维度对应的评分;
第三评分模块用于获取所述节点的存储方式,若所述存储方式为本地存储时,获取所述节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,根据所述节点的磁盘资源总量、已使用磁盘资源量、以及待调度磁盘资源量,得到所述节点的磁盘剩余资源量,根据所述节点的磁盘剩余资源量与磁盘资源总量,得到所述节点的存储能力维度对应的评分;
所述第三评分模块还用于若所述存储方式为分布式存储时,则获取所述节点与存储系统间的数据传输速度,得到所述节点的存储能力维度对应的评分。
9.根据权利要求7或8所述的装置,其特征在于,所述调度模块用于根据所述总评分,调度符合预设要求的目标节点,包括:
所述调度模块用于确定所有维度对应的评分均大于零的节点为待调度节点;
根据各所述待调度节点的总评分,调度所述总评分满足预设阈值的所述待调度节点。
CN201910422969.0A 2019-05-21 2019-05-21 节点调度方法和装置 Active CN110221915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910422969.0A CN110221915B (zh) 2019-05-21 2019-05-21 节点调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910422969.0A CN110221915B (zh) 2019-05-21 2019-05-21 节点调度方法和装置

Publications (2)

Publication Number Publication Date
CN110221915A CN110221915A (zh) 2019-09-10
CN110221915B true CN110221915B (zh) 2020-11-10

Family

ID=67821555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910422969.0A Active CN110221915B (zh) 2019-05-21 2019-05-21 节点调度方法和装置

Country Status (1)

Country Link
CN (1) CN110221915B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708369B (zh) * 2019-09-25 2022-09-16 深圳市网心科技有限公司 设备节点的文件部署方法、装置、调度服务器及存储介质
CN113032112A (zh) * 2019-12-25 2021-06-25 上海商汤智能科技有限公司 资源调度方法及装置、电子设备和存储介质
CN111240836A (zh) * 2020-01-06 2020-06-05 北京百度网讯科技有限公司 算力资源管理方法、装置、电子设备及存储介质
CN112000477B (zh) * 2020-08-21 2022-06-07 北京浪潮数据技术有限公司 一种pod中负载均衡的方法、装置、设备及介质
CN111966471B (zh) * 2020-10-21 2022-03-08 北京首都在线科技股份有限公司 访问方法、装置、电子设备及计算机存储介质
CN112783607A (zh) * 2021-01-29 2021-05-11 上海哔哩哔哩科技有限公司 容器集群中任务部署方法及装置
CN112965795B (zh) * 2021-02-23 2024-06-07 卓望数码技术(深圳)有限公司 集群调度方法、电子设备及存储介质
CN113010265A (zh) * 2021-03-16 2021-06-22 建信金融科技有限责任公司 Pod的调度方法、调度器、存储插件及系统
CN113645300B (zh) * 2021-08-10 2023-11-28 上海道客网络科技有限公司 一种基于Kubernetes集群的节点智能调度方法和系统
CN114201295B (zh) * 2021-12-09 2024-10-01 兴业银行股份有限公司 适用于混合架构容器云的调度方法及系统
CN117573353A (zh) * 2023-11-23 2024-02-20 浙江九州未来信息科技有限公司 一种边缘计算智能调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790413A (zh) * 2016-12-01 2017-05-31 广州高能计算机科技有限公司 一种基于负载平衡的并序化云服务系统及构建方法
CN107734052A (zh) * 2017-11-02 2018-02-23 华南理工大学 面向组件依赖的负载均衡容器调度方法
CN108512890A (zh) * 2018-01-25 2018-09-07 中铝视拓智能科技有限公司 一种基于机架感知的容器云平台资源调度方法及系统
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680915B2 (en) * 2012-09-12 2017-06-13 Infosys Limited Methods for clustering networks based on topology discovery and devices thereof
CN108616553B (zh) * 2016-12-13 2020-08-04 中国移动通信有限公司研究院 云计算资源池进行资源调度的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790413A (zh) * 2016-12-01 2017-05-31 广州高能计算机科技有限公司 一种基于负载平衡的并序化云服务系统及构建方法
CN107734052A (zh) * 2017-11-02 2018-02-23 华南理工大学 面向组件依赖的负载均衡容器调度方法
CN108512890A (zh) * 2018-01-25 2018-09-07 中铝视拓智能科技有限公司 一种基于机架感知的容器云平台资源调度方法及系统
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统

Also Published As

Publication number Publication date
CN110221915A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110221915B (zh) 节点调度方法和装置
CN110837410B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN107832153B (zh) 一种Hadoop集群资源自适应分配方法
EP3525096A1 (en) Resource load balancing control method and cluster scheduler
CN107734052B (zh) 面向组件依赖的负载均衡容器调度方法
CN109120715A (zh) 一种云环境下动态负载均衡方法
CN106201722A (zh) 服务器的负载调整方法及系统
CN106598705A (zh) 一种异步任务的调度方法、装置、系统以及电子设备
CN103916438B (zh) 基于负载预测的云测试环境调度方法及其系统
CN114356587B (zh) 算力任务跨区域调度方法、系统及设备
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
CN112948113A (zh) 一种集群资源管理调度方法、装置、设备及可读存储介质
CN113835823A (zh) 资源调度方法和装置、电子设备、计算机可读存储介质
US20210374319A1 (en) Dynamic allocation of computing resources for electronic design automation operations
CN109040156B (zh) 一种基于容器云的软负载资源处理方法及装置
CN117519930A (zh) 批量任务的执行方法、装置及电子设备
CN116737370A (zh) 一种多资源调度方法、系统、存储介质及终端
Banicescu et al. Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems
CN112000477B (zh) 一种pod中负载均衡的方法、装置、设备及介质
Mehta et al. EcoGrid: a dynamically configurable object oriented simulation environment for economy-based grid scheduling algorithms
Zhang et al. Multi-Objective Scheduling Model for OpenStack-Based Cloud
CN112559142B (zh) 容器的控制方法、装置、边缘计算系统、介质及设备
CN116755866B (zh) 一种资源调度方法、装置、电子设备及可读存储介质
CN117971505B (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