西安电子科技大学学报 ›› 2021, Vol. 48 ›› Issue (6): 16-22.doi: 10.19665/j.issn1001-2400.2021.06.003

• 智能嵌入式系统结构与软件关键技术专栏 • 上一篇    下一篇

Kubernetes集群中多节点合作博弈负载均衡策略

李华东1,2,3(),张学亮2,3(),王晓磊2,3(),刘惠1(),王鹏程1(),杜军朝1()   

  1. 1.西安电子科技大学 计算机科学与技术学院,陕西 西安 710071
    2.中国电子科技集团公司 航天信息应用技术重点实验室,河北 石家庄 050081
    3.中国电子科技集团公司 第五十四研究所,河北 石家庄 050081
  • 收稿日期:2021-09-02 出版日期:2021-12-20 发布日期:2022-02-24
  • 作者简介:李华东(1997—),男,西安电子科技大学博士研究生,E-mail: r1v3n@foxmail.com|张学亮(1986—),男,硕士,E-mail: 18332186667@163.com|王晓磊(1993—),男,硕士,E-mail: 931104914@qq.com|王鹏程(1997—),男,西安电子科技大学硕士研究生,E-mail: wpc-0806@163.com|杜军朝(1974—),男,教授,博士,E-mail: dujz@xidian.edu.cn
  • 基金资助:
    国家自然科学基金重点项目(62032017)

Multi-node cooperative game load balancing strategy in the Kubernetes cluster

LI Huadong1,2,3(),ZHANG Xueliang2,3(),WANG Xiaolei2,3(),LIU Hui1(),WANG Pengcheng1(),DU Junzhao1()   

  1. 1. School of Computer Science and Technology,Xidian University,Xi’an 710071,China
    2. CETC Key Laboratory of Aerospace Information Applications,Shijiazhuang 050081,China
    3. The 54th Research Institute of CETC,Shijiazhuang 050081,China
  • Received:2021-09-02 Online:2021-12-20 Published:2022-02-24

摘要:

Kubernetes具有成为新一代超融合架构的潜力,但在集群资源负载均衡方面的研究还存在不足:一方面现有调度算法大多为静态调度算法,没有考虑集群资源在实际使用中的动态性;另一方面现有的解决集群资源负载均衡的研究仅针对集群中的CPU和内存资源进行优化,无法给出集群完整的资源画像,算法缺乏全面性。因此,提出了一个基于合作博弈论的多资源负载均衡算法用于Kubernetes集群调度,并提出集群资源负载均衡度这个指标,优化调度从而降低集群资源碎片化程度。首先,使用实时监控的手段获取服务请求的实际资源使用情况,以实现服务的动态调度;其次,考虑集群CPU、内存、网络带宽以及磁盘IO资源之间的负载均衡,建立物理节点间的合作博弈模型,保证了基于合作博弈论的多资源负载均衡算法在面对各类应用不同资源请求时的算法下界,以减少集群资源碎片化现象;最后,将算法在真实Kubernetes集群中实测。实验结果表明,基于合作博弈论的多资源负载均衡算法降低了集群资源碎片化程度,集群中各节点的平均负载均衡度可提升8.40%。

关键词: 云计算, Kubernetes集群, 合作博弈论, 多资源负载均衡

Abstract:

Kubernetes has the potential to become a new generation of hyper-converged architecture,but there are still some problems in the research on cluster resource load balancing:on the one hand,most of the existing scheduling algorithms are static scheduling algorithms,and the dynamics of cluster resources in actual use are not considered; on the other hand,the existing research on solving cluster resource load balancing only optimizes the CPU and memory resources in the cluster,but cannot give a complete resource profile of the cluster,with the algorithm lacking comprehensiveness.In this paper,we introduce the MBCGT,a multi-resource load balancing algorithm based on the cooperative game theory for Kubernetes cluster scheduling,and proposes the index of cluster resource load balance to optimize scheduling and reduce the fragmentation of cluster resources.First,we use real-time monitoring to obtain the actual resource usage of service requests to achieve dynamic service scheduling.Second,we consider the load balance among the four resources of cluster CPU,memory,network bandwidth and disk IO,establish a cooperative game model between physical nodes to ensure the lower bound of the MBCGT algorithm when facing different resource requests of various applications,and solve the cluster Resource fragmentation phenomenon.Finally,the algorithm is tested in a real Kubernetes cluster.The results show that the MBCGT algorithm reduces the fragmentation of cluster resources,and that the average load balance of each node in the cluster can be increased by 8.40%.

Key words: cloud computing, Kubernetes cluster, cooperative game theory, multi-resource load balancing

中图分类号: 

  • TP306