容器云环境下基于镜像存在机制评分策略的资源调度方法与流程

文档序号:21818579发布日期:2020-08-11 21:32阅读:143来源:国知局
容器云环境下基于镜像存在机制评分策略的资源调度方法与流程
本发明属于容器云资源调度
技术领域
,尤其涉及一种容器云环境下基于镜像存在机制评分策略的资源调度方法。
背景技术
:目前,随着虚拟化技术和云计算技术的快速发展,资源调度是提高集群资源利用率并使成本最小化的关键技术,并且资源调度器能够将集群资源分配给运行任务。而集群资源分配离不开集群节点资源评分的合理性,资源调度器收集到集群中各节点的资源评分后,就可以依据待调度任务需求来分配最佳任务部署节点,从而达到提高任务调度效率和集群资源利用率。现有技术有许多关于集群资源调度的研究成果。有研究人员设计了对资源有不同敏感度的负载均衡模块,解决了应用对资源有不同实际需求情况下的调度问题,以减少碎片化的资源。也有研究人员优化了ceph集群数据副本存储策略,针对资源调度问题建立了一个优化模型,并基于此提出了两个方法,分别用于容器的部署和在线迁移。还有研究人员对集群资源调度模型进行了改进并考虑了网络因素,以对节点资源进行更全面的评分。但是其改进模型仅将网络因素作为节点评分要素却没有对网络因素的适用条件进行全面分析。例如当节点上存在任务运行所需镜像时,集群节点无须从远程仓库中下载任务运行所需要的镜像,此时网络因素是处于失效状态,该缺陷会导致资源调度方法不能为调度任务筛选出最佳部署节点,从而降低任务调度效率。通过上述分析,现有技术存在的问题及缺陷为:(1)现有技术的节点评分方法考虑因素单一、节点资源评分不准确,在面对多资源约束的场景下无法很好的满足任务调度需求。(2)大多数节点评分方法考虑了节点网络因素却未兼顾节点镜像因素,该类节点评分方法未全面考虑节点网络因素在节点评分方法中的适用性,例如当节点上存在调度任务运行的所需镜像时,节点无需从远程镜像仓库下载镜像,可直接运行调度任务;该缺陷导致调度算法不能为调度任务筛选出最佳部署节点,从而降低任务调度效率。解决以上问题及缺陷的难度为:现有方法难以做到调度的性能和效率的统一,不能全面动态的评估节点的适用性。解决以上问题及缺陷的意义为:本发明为待调度任务筛选出最佳部署节点,减少集群任务执行时间,提高集群任务调度效率,降低集群成本开销。技术实现要素:为了解决现有技术存在的问题,本发明提供了一种容器云环境下基于镜像存在机制评分策略的资源调度方法。本发明采用cpu、内存、网络和镜像四类资源因素并充分考虑网络因素在节点评分过程中的有效性,给集群节点评分满足以下两个挑战:(1)多方位节点资源评分(2)充分考虑了节点网络资源评分的适用性。本发明是这样实现的,一种容器云环境下基于镜像存在机制评分策略的资源调度方法包括:s1对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据。s2基于基础数据构建得到各资源评分数据。s3根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据。s4根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型。进一步,所述集群节点资源信息包括节点cpu资源使用信息、内存资源使用信息、网络资源信息和节点已存在的镜像信息。进一步,所述待调度任务资源信息包括待调度任务cpu请求信息、内存请求信息和运行容器信息。进一步,所述步骤s3具体为:通过计算节点cpu、内存和网络资源的剩余量相对节点各资源总量的占比来得出资源消耗最小策略评分数据,节点上资源剩余量越多,评分越高;通过计算节点cpu、内存和网络的资源使用率来得出资源消耗最均衡策略评分数据,节点上资源之间使用率越均衡,评分越高;通过计算节点上存在待调度任务运行所需镜像的大小来得出节点镜像评分数据,存在待调度任务运行所需镜像的大小越大,资源评分越高;进一步,集群节点资源总量的计算方法,节点实际可用资源量等于节点资源配额值减去节点基本组件占用的资源值。其中记节点cpu配额为nodecpu,节点内存配额为nodememory。进一步,待调度任务运行所需镜像的大小计算方式,待调度任务中的每个容器在创建之初,其资源描述文件会对每个容器镜像定义镜像拉取策略。容器镜像拉取策略分为三种,分别为:always:该镜像拉取策略表示宿主机每次都会尝试去远程镜像仓库重新拉取最新的容器镜像。ifnotpresent:该镜像拉取策略表示如果本地不存在相匹配的容器镜像,那么宿主机将会去远程镜像仓库拉取指定的容器镜像。如果本地存在相匹配的容器镜像,则使用本地存在的镜像。never:该镜像拉取策略表示宿主机上的只使用本地的容器镜像,如果本地不存在相匹配容器镜像则容器启动失败。镜像因素在待调度任务中存在拉取策略为ifnotpresent的容器镜像时生效,所以仅将拉取策略为ifnotpresent的容器镜像大小计入待调度任务运行所需镜像的大小。进一步,集群节点上资源使用量为节点上已运行任务的资源请求值,已运行任务的资源请求值等同于运行任务中所有容器对资源的请求值,而节点上已分配的资源值为所有运行任务的资源请求值之和。进一步,所述步骤s4具体为,当待调度任务运行所需镜像的大小为0时,多资源约束下节点评分模型由资源消耗最小评分策略、资源消耗最均衡评分策略共同构建,当待调度任务运行所需镜像的大小大于0时,多资源约束下节点评分模型由资源消耗最小评分策略、资源消耗最均衡评分策略和基于节点镜像存在评分策略共同构建。本发明的另一目的在于提供一种容器云环境下基于镜像存在机制评分策略的资源调度系统,所述容器云环境下基于镜像存在机制评分策略的资源调度系统包括:各资源评分数据获取模块,用于对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据;基于基础数据构建得到各资源评分数据;评分策略数据获取模块,用于根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据;节点评分模型构建模块,根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型。本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述容器云环境下基于镜像存在机制评分策略的资源调度方法,包括:对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据;基于基础数据构建得到各资源评分数据;根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据;根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型。本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述容器云环境下基于镜像存在机制评分策略的资源调度方法。结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的容器云环境下基于镜像存在机制评分策略的资源调度方法,对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据;基于基础数据构建得到各资源评分数据;根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据;根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型;传统资源调度方法在给调度节点评分时仅考虑了节点cpu、内存和网络三类因素,且对节点网络因素的使用条件考虑不全面,该缺陷导致资源调度方法不能为调度任务筛选出最佳部署节点,从而降低任务调度效率。本发明详细分析了节点网络因素的适用条件并额外增加了节点镜像评分因素,与传统的资源调度方法相比该发明的有益效果为:减少了集群任务执行时间,提高了集群任务调度效率。结合实验或试验数据和现有技术对比得到的效果和优点:本实验将对本发明涉及的容器云环境下基于镜像存在机制评分策略的资源调度方法与传统的资源调度方法在任务调度性能上进行对比。从实验数据图3中可以看出本发明相对于传统的资源调度方法在待调度任务中存在同类任务时,可以减少任务创建所花费的时间,从而减少任务执行时间。在实验中,本发明任务创建累计花费时间为5637.53s,任务平均创建花费时间为84.02s;传统的资源调度方法任务创建累计花费时间为6718.39s,任务平均创建花费时间为98.65s;本发明相比传统的资源调度方法在总的创建时间上缩短1080.86s,在任务平均创建花费时间上缩短14.63s。此外任务执行时间越短那么表示集群任务更快的完成,集群任务所占用的资源就可以更快的得到释放以满足其他待调度任务的使用,从而提高集群任务调度效率。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。图1是本发明实施例提供的容器云环境下基于镜像存在机制评分策略的资源调度方法流程图。图2是本发明实施例提供的容器云环境下基于镜像存在机制评分策略的资源调度方法原理图。图3是本发明实施例提供的实验过程中本发明与现有技术对比示意图。图中,黑色方框的代表传统方法,三角表示本发明的方法。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有技术存在的问题,本发明提供了一种容器云环境下基于镜像存在机制评分策略的资源调度方法,下面结合附图对本发明作详细的描述。如图1所示,本发明提供的容器云环境下基于镜像存在机制评分策略的资源调度方法包括:s101,对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据。s102,基于基础数据构建得到各资源评分数据。s103,根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据。s104,根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型。本发明提供一种容器云环境下基于镜像存在机制评分策略的资源调度系统,包括:各资源评分数据获取模块,用于对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据;基于基础数据构建得到各资源评分数据。评分策略数据获取模块,用于根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据。节点评分模型构建模块,根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型。下面结合具体实施例对本发明作进一步描述。实施例,如图2所示。本发明实施例提供的容器云环境下基于镜像存在机制评分策略的资源调度方法包括:s1对集群节点资源信息和待调度任务信息进行收集并处理得到基础数据,收集所有候选节点的节点资源信息,资源信息使用动态数组nodearrays保存。表1为获取基础数据信息表遍历候选节点nodearrays,分别为每个候选节点计算cpu和内存资源总量,分别记为capacitycpu和capacitymemory,其值类型为整数。同时获取每个候选节点的网络带宽,记为capacitynetrate。节点实际可用资源量等于节点资源配额值减去节点基本组件占用的资源值。其中记节点cpu配额为nodecpu,节点内存配额为nodememory。遍历候选节点nodearrays,分别对每个候选节点上所有任务请求的cpu和内存值进行求和,记为totalmemory和totalcpu,同时获取该节点当前的网络传输速率,记为currentnetrate。一个集群任务是由一个或几个容器共同来执行的,不同的容器其对资源的需求也不同,所以一个集群任务对节点的资源请求值为集群任务中所有容器运行的资源请求值之和。当前节点已分配的cpu资源值为所有集群任务cpu请求值之和。s2基于基础数据构建得到各资源评分数据,节点的cpu资源得分cpuscorei为当前节点的cpu剩余量除以当前节点cpu总量。节点的内存资源得分memoryscorei为当前节点的内存剩余量除以当前节点内存总量。节点的网络传输速率得分netratescorei为当前节点的网络传输速率除以当前节点网络带宽转换为同等单位的数值。s3根据资源评分数据得到资源消耗最小策略评分数据、资源消耗最均衡策略评分数据和镜像存在机制评分策略评分数据,计算资源消耗最小策略最终得分。设cpu资源得分权重为δcpu,内存资源得分权重为δmemory,网络资源得分权重为δnetrate,节点各资源权重总和为1。δcpu+δmemory+δnetrate=1;节点资源消耗最小策略得分。计算资源消耗最均衡策略得分。节点资源得分均值为资源得分之和除以资源数量。计算节点资源得分方差。按照资源消耗最均衡的需求,资源综合方差越小其得分越高。将所有节点的资源综合方差计算出来,取资源综合方差最大的值,然后将所有节点的资源综合方差进行归一化处理。σi∈(σ1,σ2,σ3,σ4…,σn);取节点资源综合方差最大值σmax=max(σ1,σ2,σ3,…,σn)节点资源综合方差归一化处理节点资源消耗最均衡综合得分。计算节点镜像得分。解析pod任务的资源描述文件,将镜像拉取策略为ifnotpresent的容器镜像名和镜像大小记录在集合hashset中,记为taskhashset,hashset中key为镜像名称,value为镜像大小。将hashset中的镜像大小进行求和,其镜像大小之和记为totalimagesize,如果totalimagesize不为0,则启用该评分策略。遍历所有候选节点并将节点上存在的容器镜像与taskhashset中的容器镜像进行镜像名称和版本号对比,将容器镜像名称和版本号相同的镜像名与镜像大小记录在nodehashseti中。遍历所有的nodehashseti并对当前的nodehashseti中镜像的大小进行求和,记为nodetotalimagesizei,那么节点的辅助性策略最终得分为nodetotalimagesizei除以totalimagesize乘以10。s4根据所述资源消耗最小评分策略、资源消耗最均衡评分策略和镜像存在机制评分策略,构建多资源约束下节点评分模型,设资源消耗最小策略权重为μ1,资源消耗最均衡策略权重为μ2,节点镜像策略权重为μ3,节点资源的最终得分为资源消耗最小策略与资源消耗最均衡策略的得分分别乘以各自策略的权重之和。μ1+u2=1,μ3=1下面结合效果对本发明作进一步描述。本发明的容器云环境下基于镜像存在机制评分策略的资源调度方法,通过构建多资源约束下的节点评分模型,可以更全面的为集群节点进行资源评分,从而为待调度任务筛选出最佳任务部署节点;通过分析网络因素在节点评分时的适用情况,增加镜像存在机制的评分策略,可以弥补传统资源调度方法在给节点评分时网络因素失效的缺陷,减少任务创建时间,提高集群任务调度效率。下面结合实验或试验数据对本发明作进一步描述。实验步骤如下:步骤1:依次创建14组待调度任务,每组5个待调度任务,每隔15分钟创建一组任务,每个待调度任务运行使用的镜像名称规则的数学表达如下:imagenamei表示第i个待调度任务运行所需要的镜像名称,上述公式表示每组任务中的第5个待调度任务运行使用名称为nginx:0的镜像,即每组任务中的第5个任务属于同一类任务(同类任务运行所需镜像相同)。步骤2:记录每次待调度任务创建时花费的时间。步骤3:将每次记录的pod任务创建时间按任务创建顺序进行阶段性求和,数学表达式如下。上述公式中alltaketimei表示前i个待调度任务创建所花费的时间总和。createpodtimej表示创建第j个待调度任务所花费的时间。步骤4:将整理好的数据进行绘制图像,如图3,图中,黑色方框的代表传统方法,三角表示本发明的方法。实验表格如下。方法类型任务创建累计花费时间任务平均创建花费时间本发明5637.5384.02s传统资源调度方法6718.39s98.65s通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对
背景技术
做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1