分享
基于负载均衡的Kubernetes改进优化算法研究_梁兆楷.pdf
下载文档

ID:2373174

大小:2.04MB

页数:5页

格式:PDF

时间:2023-05-10

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 负载 均衡 Kubernetes 改进 优化 算法 研究 梁兆楷
书书书智能设计检测?年?月第?卷第?期?学术论文Academic papers粘接智慧设计检测随着我国用电量持续增加,我国电力系统始终处于高负荷工作状况,其主要原因为电力系统无法有效承受集群负载能力,易使电脑系统崩溃,且长期的高负荷工作也会使电脑CPU运行温度高,导致线路老化,硅脂材料开裂。且硅脂开裂易使传统导热填料以金属粉体、氧化物、碳化物、氮化物等为主的材料发生变化。伴随着随着互联网的快速普及以及网络应用规模的不断扩大,服务器产生的数据量呈现2023 年 3 月第 50 卷第 3 期doi:10.3969 j.issn.1001-5922.2023.03.045Vol.50 No.03,Mar.2023收稿日期:2022-11-16;修回日期:2023-03-06作者简介:梁兆楷(1993-),男,本科,助理工程师,研究方向:数据库、网络安全;E-mail:。引文格式:梁兆楷,高建明.基于负载均衡的Kubernetes改进优化算法研究J.粘接,2023,50(3):192-196.基于负载均衡的Kubernetes改进优化算法研究梁兆楷1,高建明2(1.广东电网有限责任公司 广州供电局,广东 广州510000;2.南方电网数字电网科技(广东)有限公司,广东 广州510000)摘要:为了改善Kubernetes资源调度算法的负载均衡性,针对传统的Kubernetes默认调度算法只考虑了节点的CPU利用率和内存利用率,未考虑磁盘IO利用率和网络带宽利用率的问题,提出一种基于鸽群算法的Kubernetes资源调度算法。选择CPU、内存、磁盘IO和网络带宽平均资源利用率标准差作为适应度函数,通过鸽群算法的调度分配实现资源的最佳分配。研究结果表明,PIO-Kubernetes算法提高了集群负载能力,并且具有更强的并行处理能力。关键词:鸽群算法;负载均衡;Kubernetes;平均资源利用率中图分类号:TP391.9文献标志码:A文章编号:1001-5922(2023)03-0192-05Study on Kubernetes improved optimization algorithmbased on load balancingLIANG Zhaokai1,GAO Jianming2(1.Guangzhou Power Supply Bureau of Guangzhou Power Grid Co.,Ltd.,Guangzhou 510000,Chian;2.China Southern Digital Power Grid Technology(Guangdong)Co.,Ltd.,Guangzhou 510000,Chian)Abstract:The default scheduling mechanism of Kubernetes only considers the resource utilization of CPU andmemory of a single node,but does not consider the resource utilization of disk IO and network bandwidth.In orderto balance the load of the whole cluster,a Kubernetes resource scheduling algorithm based on pigeon flock algorithm is proposed.The standard deviation of average resource utilization of CPU,memory,disk IO and networkbandwidth was selected as the fitness function,and the optimal resource allocation was achieved through the scheduling and allocation of pigeon swarm algorithm.The results show that the PIO-Kubernetes algorithm improves thecluster load capacity and has stronger parallel processing ability.Keywords:pigeon-inspired optimization algorithm;load balancing;kubernetes;average resource utilization192学术论文粘接书书书智能设计检测?年?月第?卷第?期?Academic papers智慧设计检测指数级增长,使得云计算技术得到了快速发展和应用。云计算是分布式计算的一种,通过网络“云”将丰富的网络数据资源进行统一分析、处理、计算、管理和调度,可以极大提高电脑系统运行效率,减少电脑内部材料老化及损伤,且由于长时间受到高温影响破坏,从而导致防护层的损坏,进而导致绝缘材料性能下降。在云计算模式下,软件、硬件和平台等网络资源以服务的方式提供给使用者,有效解决用户基础设施建设和系统维护成本高、效率低下以及网络资源的利用不均的问题1。传统云计算架构中基础设施即服务(IaaS)在虚拟机上作为基础单元来安排资源分配,但是,虚拟机的计划是一种粗粒度的资源分配方式,其运行速度较慢2-3。随着 Docker容器技术的快速发展,以容器为基础的虚拟化技术已经逐渐被云计算开发者和云服务提供商所青睐。容器技术相对于虚拟机来说节省了资源、启动速度快、镜像小以及应用部署灵活等优点4,可以降低电力系统负载能力,减少系统硬件元器损伤,同时,电荷的聚集、涡流、绝缘介质的损耗,都会产生额外的热量,导致系统线路的温度上升。长时间的超负荷运转,高温会使绝缘加速老化,最终导致绝缘破裂。然而,实际工作中需要管理的容器数量较为庞大且容器之间的关系相当复杂,一般会使用某个工具对数量庞大的容器进行编排、管理和控制,其中以Kubernetes5为代表的容器编排工具是当前较为热门的编排管理工具。为了改善Kubernetes资源调度算法的负载均衡性,提高电力系统处理信息能力,针对传统的Kubernetes默认调度算法只考虑了节点的CPU利用率和内存利用率,未考虑磁盘IO利用率和网络带宽利用率的问题,提出一种基于鸽群算法(PIO)的Kubernetes资源调度算法。选择鸽群算法作为Kubernetes资源调度算法,在计算适应度阶段,选择CPU、内存、磁盘IO和网络带宽的平均资源利用率标准差作为适应度函数,通过鸽群算法的调度分配实现资源的最佳分配,进一步降低系统过载对元器件线路、硅脂、内存条的影响。1Kubernetes Scheduler调度算法Kubernetes资源调度的核心组件为KubernetesScheduler。Kubernetes Scheduler的主要功能是按照指定的调度算法将Controller Manager或API Server新建的待调度Pod绑定到集群中某个合适的工作节点,与此同时将待调度的Pod和工作节点的绑定信息写入ETCD组件。之后,Kubernetes调度器发出的待调度Pod和工作节点的绑定信息由工作节点通过Kubelet监测到,并从ETCD组件中读取待调度Pod配置文件完成容器应用的启动。根据调度策略,Pod被Scheduler部署到不同的节点中,Pod的分配模型如图1所示。SchedulerNode1Node2Node3Pod1Pod4Pod3Pod5Pod2Pod6图1Pod在Node的分配模型Fig.1Pod distribution model in node假定系统中所有节点的集合为N=Node1Node2Node3Noden,n为节点总数,Nodei为第i个节点。系 统 中 所 有 待 调 度 Pod 的 集 合 为N=Pod1Pod2Pod3Podm,m为待调度Pod总数,Podj为第j个待调度Pod。假设在某个工作节点Nodei上有一组Pod,工作节点中待调度Pod的分配情况 可 以 用 C 表 示,待 调 度 Pod 的 分 配 情 况Ci=Pod1Pod2Pod3.Podk,k 为Nodei上待调度Pod的数量。如图1所示,将被调度 Pod的分布情况:C1=Pod1,Pod4,C2=Pod3,Pod5,C3=Pod2,Pod6。图1描述了待调度Pod在工作节点的分配情况,Kubernetes默认资源调度算法一般是将待调度Pod分配到性能最好的工作节点上运行,增加了性能高的工作节点的负载,造成了性能簇的负载不平衡,导致了整个簇的服务品质下降。通过对被调度 Pod和工作节点的配置关系的分析,可以看出,Kubernetes调度问题实际就是将m个Pod分配到n个节点中的排列组合问题,该问题是一个 NP-Hard 问题。针对NP-Hard问题,启发式算法是解决该类问题的主要方法之一。鸽群算法6是模仿鸽子归巢行为而提出的群智能优化算法,与其他智能算法相比,该算法具有调整参数少、原理简单、鲁棒性更强以及计算更加简单的优点,目前被广泛地应用于机器学习、参数优化等领域。为了改善Kubernetes资源调度算法的负载均衡性,针对传统的Kubernetes默认调度算法只考虑了193书书书智能设计检测?年?月第?卷第?期?学术论文Academic papers粘接智慧设计检测节点的CPU利用率和内存利用率,未考虑磁盘IO利用率和网络带宽利用率的问题,最大限度地发挥每个节点的性能,选择鸽群算法作为Kubernetes资源调度算法,引入网络带宽、磁盘 IO评估指数并给出各种权值,采用平均资源利用基准差异作为适应性函数,通过鸽群算法的调度分配实现资源的最佳分配。2鸽群算法(PIO)当距离目标很遥远时,信鸽会借助地球磁场和路标来抵达目标。PIO算法中鸽子归巢包含了地图罗盘算子和路标算子。在远离目标地点时,通过地球磁场识别方位,在接近目标地点时使用本地标志。在PIO中,利用地球的地磁与太阳为基础建立了地图与指示器的数学模型,而标志算子的建立则是以地标为基础的。2.1指南针算子地图模型是基于地磁场,第i只鸽子的速度和位置更新公式为7:Vi(t)=Vi(t-1)e-Rt+randXg-Xi(t-1)(1)Xi(t)=Xi(t-1)+Vi(t)(2)式中:R为指南针算子;Xi和Vi为第i只鸽子的速度和位置;rand为0,1的随机数;Xg为鸽子最好位置。2.2地标算子地标算子模仿导航工具地标对鸽子的影响。当鸽群接近目的地时,会依靠临近地标进行导航。如果某只鸽子熟悉地标,则径直飞向目的地;反之,如果不熟悉地标并且远离目的,则该只鸽子会跟随熟悉地标的其他鸽子飞行到达目的地。首先将鸽子的适应度值排序,然后每次迭代对其种群数量减半,假设中心鸽子熟悉地形,可以直接飞向目的地,其他的鸽子都在中心鸽子的引领下,向着目的地前进。鸽群位置更新策略如下:Np(t)=Np(t-1)2(3)Xc(t)=Xi(t)fitness(Xi(t)Npfitness(Xc(t)-Xi(t-1)(4)Xi(t)=Xi(t-1)+rand(Xc(t)-Xi(t-1)(5)式(3)式(5)中:Np(t)为第t代鸽子种群规模;Xc(t)为第t代所有鸽子的中心位置;fitness(x)为每只鸽子的质量。3基于PIO-Kubernetes的资源调度算法传统的Kubernetes默认调度算法,只考虑了节点的CPU利用率和内存利用率,未考虑磁盘IO利用率和网络带宽利用率,无法均衡每个节点的负载。基于上述评估标准,本论文提出了提高硬盘 IO使用率及网路频谱使用量的方法。CPU在特定节点上的利用率L(Cpui)定义如式(6)所示8:L(Cpui)=j=1NCpuPodijPodNumi100%(6)式中:CpuPodij为第i个Node节点上第 j 个 Pod

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开