【技术实现步骤摘要】
一种基于kubernetes的资源调度方法
本专利技术属于数字信息的传输,例如电报通信的
,特别涉及一种加快集群任务部署效率的基于kubernetes的资源调度方法。
技术介绍
Kubernetes是Google开源的一个容器编排引擎,其支持自动化部署、大规模可伸缩、应用容器化管理,可以管理一个大规模集群中多个节点(Node)的状态以及节点上的Pod的运行。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,容器(containers)虚拟化技术是一种服务器资源的共享方式,可以满足按需构建定制容器的需求,不同于传统的虚拟技术,其更加灵活便捷;另外,Kubernetes中的Pod,指的是一个或者几个容器的集合,是kubernetes部署的最小单元,逻辑上代表着某个应用的一个实例,而Kubernetes可以管理用户创建的多个Pod实例,简化运维人员的操作难度和运维管理成本。云计算领域最主要关注的是资源调度的效率和资源调度的负载均衡性。现有技术中,默认调度器已经以节点的预选、优选算法来选择一个最优节点运行 ...
【技术保护点】
1.一种基于kubernetes的资源调度方法,其特征在于:所述方法包括以下步骤:步骤1:初始化,计算集群中所有Node的分值,根据分值由高至低将所有Node加入第一节点优先级队列;对集群中所有Pod进行监听;步骤2:集群运行时间T,若任一Pod的Nodename字段为空,则将当前Pod以动态优先级算法加入Pod优先级队列,否则,返回步骤1;步骤3:将优先匹配的高优先级Pod及第一节点优先级队列通过kubernetes的预选算法过滤无用Node;步骤4:若无满足Pod运行需求的Node,则调度失败,返回步骤3进入下一个Pod的调度循环;若存在可以用的Node,则生成过滤以后 ...
【技术特征摘要】
1.一种基于kubernetes的资源调度方法,其特征在于:所述方法包括以下步骤:步骤1:初始化,计算集群中所有Node的分值,根据分值由高至低将所有Node加入第一节点优先级队列;对集群中所有Pod进行监听;步骤2:集群运行时间T,若任一Pod的Nodename字段为空,则将当前Pod以动态优先级算法加入Pod优先级队列,否则,返回步骤1;步骤3:将优先匹配的高优先级Pod及第一节点优先级队列通过kubernetes的预选算法过滤无用Node;步骤4:若无满足Pod运行需求的Node,则调度失败,返回步骤3进入下一个Pod的调度循环;若存在可以用的Node,则生成过滤以后的第二节点优先级队列,进行下一步;步骤5:从第二节点优先级队列中选出优先级最高的Node与所述优先匹配的高优先级Pod进行绑定操作;步骤6:若绑定成功,则所述高优先级Pod运行在选出的Node上,返回步骤3进入下一个Pod的调度循环,否则,绑定失败,进行下一步;步骤7:从第二节点优先级队列利用kubernetes的优先级算法优选Node;以优选的Node与所述优先匹配的高优先级Pod进行绑定操作;步骤8:若绑定成功,则所述高优先级Pod运行在选出的Node上,返回步骤3进入下一个Pod的调度循环,否则,绑定失败,仍然进入下一个Pod的调度循环,直到集群中出现符合待调度Pod要求的Node。2.根据权利要求1所述的一种基于kubernetes的资源调度方法,其特征在于:所述步骤1中,计算所有节点的分值包括以下步骤:步骤1.1:以最小消耗算法计算所有节点的分值score1,score1包括cpu利用率、内存利用率及网络带宽利用率之和;步骤1.2:以资源最均衡算法计算所有节点的分值score2;步骤1.3:以分值score1和score2相加,得到任一节点的总分score。3.根据权利要求2所述的一种基于kubernetes的资源调度方法,其特征在于:所述步骤1.1中,score1=cpu((capacity-sum(requested))10/capacity)+memory((capacity-sum(requested))10/capacity)+network((capacity-sum(requested))10/capacity),其中,第一项为cpu利用率、第二项为内存利用率、第三项为网络带宽利用率,capacity表示每种资源在各个节点上的总量,sum(requested)表示所述Pod所需求资源的对应的总量。4.根据权利要求1所述的一种基于kubernetes的资源调度方法,其特征在于:所述步骤2中,动态优先级算法包括以下步骤:步骤2.1:设定初始优先级值initPodPriorityValue、系统高优先级阈值α、系统低优先级阈值β、Pod逃离监听时间Tescape、每个Pod服务运行所需最小要求的Pod数量minPodAmount、Pod运行数量权值W1、占据Pod优先级队列的时间权值W2、Pod运行时间权值W3;步骤2.2:当等待建立Pod的时间大于Tescape,进行下一步;步骤2.3:获得每个Pod的运行数量runningPodAmount、对应的Pod期望运行数量neededPodAmount、占据Pod优先级队列的时间Tqueue、处于队列的位置Num和运行的时间Truntime;步骤2.4:计算Pod优先级队列中每个Pod的优先级值runtimePodPriorityValue,runtimePodPriorityValue=W1*runningPodAmount+W2*Num*Tqueue+W3*Truntime;步骤2.5:若runtimePodPriorityValue大于α,则根据值由大至小进入降低优先级的队列,计算decreasePodPriorityValue,decreasePodPriorityValue=initPodPriorityVal...
【专利技术属性】
技术研发人员:郑雅羽,韩沈钢,王济浩,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。