一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于空闲内存的Kubernetes调度方法与流程

2022-05-18 06:54:46 来源:中国专利 TAG:

一种基于空闲内存的kubernetes调度方法
【技术领域】
1.本发明涉及互联网的技术领域,特别是一种基于空闲内存的kubernetes调度方法。


背景技术:

2.kubernetes有一个调度器模块,将部署应用的容器调度到相关的工作节点。kubernetes有自带的调度器,也可以自定义开发调度器。互联网企业微服务应用较多,通过kubernetes开源工具进行微服务编排管理。
3.kubernetes调度策略主要通过综合打分策略,依据算法得分进行资源调度,比如:leastrequestedpriority策略,空闲资源比例越高的工作节点的得分越高。而空闲资源包含磁盘、cpu、内存、请求数等,因此,调度到工作节点后,会存在工作节点内存使用不均衡的问题,现提出一种基于空闲内存的kubernetes调度方法。


技术实现要素:

4.本发明的目的就是解决现有技术中的问题,提出一种基于空闲内存的kubernetes调度方法,能够将微服务应用容器调度到内存最空闲的工作节点。
5.为实现上述目的,本发明提出了一种基于空闲内存的kubernetes调度方法,包括以下步骤:
6.s1.监听kubernetes api-server的接口,并获取待部署的微服务应用容器;
7.s2.从kubernetes api-server的接口中获取节点对象信息,所述节点对象信息包括节点分配的内存数量信息、节点内存使用数量信息;
8.s3.算法:遍历从接口中获取的所有节点,根据节点分配的内存数量信息、节点内存使用数量信息计算出节点的空闲内存,并依次比较获得所有节点中空闲内存最大的节点,即为得分最高节点;
9.s4.将微服务应用容器绑定到得分最高节点。
10.作为优选,步骤s1中,通过监听kubernetes api-server的/api/v1/watch/pods接口,获取待部署的微服务应用容器。
11.作为优选,从kubernetes api-server的/api/v1/nodes接口中获取节点分配的内存数量信息。
12.作为优选,从kubernetes api-server的apis/metrics.k8s.io/v1beta1/nodes接口中获取节点内存使用数量信息。
13.本发明的有益效果:本发明通过自定义的kubernetes调度器,实现了微服务应用容器每次部署均是被调度到内存最空闲的工作节点,从而保障了每个工作节点内存使用均衡。
14.本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
15.图1是本发明一种基于空闲内存的kubernetes调度方法的示意图。
【具体实施方式】
16.参阅图1,本发明一种基于空闲内存的kubernetes调度方法,包括以下步骤:
17.s1.监听kubernetes api-server的/api/v1/watch/pods接口,并获取待部署的微服务应用容器。
18.s2.从kubernetes api-server的/api/v1/nodes接口中获取节点对象信息,包含节点分配的内存数量信息,从/apis/metrics.k8s.io/v1beta1/nodes接口中获取节点对象信息,包含节点内存使用数量信息。
19.s3.算法:遍历从接口中获取的所有节点,根据节点分配的内存数量信息、节点内存使用数量信息计算出节点的空闲内存,并依次比较获得所有节点中空闲内存最大的节点,即为得分最高节点。
20.s4.将微服务应用容器绑定到得分最高节点。
21.上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。


技术特征:
1.一种基于空闲内存的kubernetes调度方法,其特征在于:包括以下步骤:s1.监听kubernetes api-server的接口,并获取待部署的微服务应用容器;s2.从kubernetes api-server的接口中获取节点对象信息,所述节点对象信息包括节点分配的内存数量信息、节点内存使用数量信息;s3.算法:遍历从接口中获取的所有节点,根据节点分配的内存数量信息、节点内存使用数量信息计算出节点的空闲内存,并依次比较获得所有节点中空闲内存最大的节点,即为得分最高节点;s4.将微服务应用容器绑定到得分最高节点。2.如权利要求1所述的一种基于空闲内存的kubernetes调度方法,其特征在于:步骤s1中,通过监听kubernetes api-server的/api/v1/watch/pods接口,获取待部署的微服务应用容器。3.如权利要求1所述的一种基于空闲内存的kubernetes调度方法,其特征在于:步骤s2中,从kubernetes api-server的/api/v1/nodes接口中获取节点分配的内存数量信息。4.如权利要求1所述的一种基于空闲内存的kubernetes调度方法,其特征在于:步骤s2中,从kubernetes api-server的apis/metrics.k8s.io/v1beta1/nodes接口中获取节点内存使用数量信息。

技术总结
本发明提出了一种基于空闲内存的Kubernetes调度方法,包括以下步骤:S1.监听Kubernetes api-server的/api/v1/watch/pods接口,并获取待部署的微服务应用容器。S2.从Kubernetes api-server的/api/v1/nodes接口中获取节点对象信息,包含节点分配的内存数量信息,从/apis/metrics.k8s.io/v1beta1/nodes接口中获取节点对象信息,包含节点内存使用数量信息。S3.算法:遍历从接口中获取的所有节点,根据节点分配的内存数量信息、节点内存使用数量信息计算出节点的空闲内存,并依次比较获得所有节点中空闲内存最大的节点,即为得分最高节点。S4.将微服务应用容器绑定到得分最高节点。通过自定义的Kubernetes调度器,实现了微服务应用容器每次部署均是被调度到内存最空闲的工作节点,从而保障了每个工作节点内存使用均衡。存使用均衡。存使用均衡。


技术研发人员:周建平 黎冬生
受保护的技术使用者:杭州玖欣物联科技有限公司
技术研发日:2021.12.31
技术公布日:2022/5/17
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献