一种面向边缘计算的Kubernetes调度方法和系统技术方案

技术编号:37065768 阅读:16 留言:0更新日期:2023-03-29 19:43
本发明专利技术公开了一种面向边缘计算的Kubernetes调度方法和系统,通过计算Kubernetes边缘集群的网络拓扑、延迟以及节点的计算性能和存储性能,能为不同类型的容器化应用选择最佳的部署节点,解决了Kubernetes默认调度器不适用于边缘计算环境的问题。本发明专利技术基于Kubernetes调度框架分别为延迟敏感型、计算密集型和数据密集型的应用设计了对应的评分算法,并作为插件集成到调度框架中。此外,本发明专利技术使用了一种加权评分算法来调度综合型应用,相较于传统的调度方法,在满足应用低时延、大流量和实时处理性能要求的同时,还有着更强的灵活性和扩展性。的灵活性和扩展性。的灵活性和扩展性。

【技术实现步骤摘要】
一种面向边缘计算的Kubernetes调度方法和系统


[0001]本专利技术涉及计算机应用系统的
,尤其是指一种面向边缘计算的Kubernetes调度方法和系统。

技术介绍

[0002]边缘计算是一种将工作负载部署到网络边缘的计算范式,相较于云计算,边缘计算能提供更低的网络延迟和更好的实时性。尽管边缘计算为应用尤其是延迟敏感型的应用提供了一个优秀的可部署平台,但是如何打包、管理和部署这些应用一直是一个亟待解决的问题。此外,由于边缘服务器的计算资源和存储资源相较于云服务器十分有限,如何满足计算密集型应用和数据密集型应用的计算和存储资源的需求也是一个挑战。
[0003]Kubernetes是由Google研发并开源的一个容器编排平台,正逐渐成为容器编排领域的事实标准。Pod是Kubernetes中可创建和调度的最小计算单元,应用往往由多个协同工作的Pod组成,Pod往往包含着多个容器。Kubernetes默认调度器Kube

Scheduler的职责是为新创建的Pod分配集群中最合适的节点,Kube

Scheduler主要通过两个步骤为Pod选择节点:过滤和评分。过滤步骤会挑选出集群中所有满足Pod资源需求的节点;评分步骤会基于当前启用的评分算法对过滤后的节点打分,得分最高的节点就是Pod最终的部署节点。
[0004]Kube

Scheduler提供了灵活的调度功能,但在调度中可应用的指标是相当有限的。Kube

Scheduler在评分步骤中只考虑了节点的CPU和内存的使用率,而没有考虑到网络延迟、节点的计算性能和存储性能等指标,这不能满足异构的边缘环境的需求。此外,目前的调度方法没有考虑到边缘计算中应用的特殊性,边缘计算中的应用往往需要满足低时延、大流量和实时处理的性能要求,目前研究没有针对不同类别的应用做出不同的调度决策。

技术实现思路

[0005]本专利技术的第一目的在于解决现有Kubernetes调度方法在边缘计算环境中的局限性,提供一种面向边缘计算的Kubernetes调度方法,该方法通过计算Kubernetes边缘集群的网络拓扑、延迟以及节点的计算性能和存储性能,能为不同类型的容器化应用选择最佳的部署节点;本专利技术基于Kubernetes调度框架分别为延迟敏感型、计算密集型和数据密集型的应用设计了对应的评分算法,并作为插件集成到调度框架中。
[0006]本专利技术的第二目的在于提供一种面向边缘计算的Kubernetes调度系统。
[0007]本专利技术的第一目的通过下述技术方案实现:一种面向边缘计算的Kubernetes调度方法,该方法适用于调度边缘环境中的容器化应用,包括以下步骤:
[0008]1)计算边缘网络的拓扑结构以及节点间的网络延迟;
[0009]2)收集各节点的计算性能和存储性能信息;
[0010]3)对不同类别的Pod进行优先级排序,确定调度顺序;
[0011]4)根据Pod所属应用类型来调用评分算法对所有节点进行性能评分;
[0012]5)对节点的性能评分进行归一化处理并排序,将Pod调度到评分最高的节点上。
[0013]进一步,所述步骤1)包括以下步骤:
[0014]1.1)获取边缘集群中每个节点的所有邻居节点,计算该节点到所有邻居节点的网络延迟,生成加权无向图形式的边缘网络拓扑,权重为相邻节点的延迟;
[0015]1.2)运行Dijkstra算法计算上述边缘网络拓扑中任意节点之间的最短路径,即网络延迟最小的通信路径;
[0016]1.3)边缘网络拓扑和节点间的通信延迟使用Kubernetes自定义资源对象保存在各个节点中。
[0017]进一步,所述步骤2)包括以下步骤:
[0018]2.1)收集边缘集群中节点的计算性能信息,计算性能信息由CPU三个性能参数组成:逻辑核数量、频率大小和缓存大小;其中,当CPU支持睿频时,频率大小设为睿频大小,否则设为基频大小;使用Kubernetes标签将节点的CPU性能参数作为计算性能指标附加到对应的节点;
[0019]2.2)计算边缘集群中节点的存储性能信息,存储性能信息由两个元素组成:IOPS和吞吐量,IOPS表示磁盘每秒的读写次数,吞吐量表示磁盘每秒的读写流量;节点初始化时,会分别计算节点读写1000个1KB小文件的速率以及读写1个1GB大文件的速率,前者作为该节点的IOPS指标,后者作为该节点的吞吐量指标,使用Kubernetes标签将这两者作为存储性能指标附加到对应的节点。
[0020]进一步,所述步骤3)包括以下步骤:
[0021]3.1)按照Pod的功能对Pod打上类别标签,类别标签分为三种:接入Pod、逻辑Pod以及存储Pod,接入Pod负责通过边缘集群中的网关与客户端进行通信,逻辑Pod负责逻辑计算与任务处理,存储Pod负责持久化数据的读写;
[0022]3.2)通过优先级队列对Pod进行排序,接入Pod的优先级最高,其次是逻辑Pod,存储Pod优先级最低,这使得接入Pod最先被调度,存储Pod最后被调度。
[0023]进一步,在步骤4)中,根据Pod所属应用类型来调用评分算法对所有节点进行性能评分,具体如下:
[0024]当应用是延迟敏感型时,运行网络性能评分插件,网络性能评分插件利用步骤1)中计算的网络延迟信息对节点进行评分,延迟越低,得分越高;当Pod为接入Pod时,计算节点与网关之间的延迟得分;当Pod为逻辑Pod时,计算节点与应用接入Pod所在节点之间的延迟得分;当Pod是存储Pod时,计算节点与应用逻辑Pod所在节点之间的延迟得分;
[0025]当应用是计算密集型时,运行计算性能评分插件,计算性能评分插件利用步骤2)中收集的计算性能信息对节点进行评分,计算公式为:
[0026][0027]式中,s
n
表示节点n的评分,core、frequency和cache分别表示节点标签中的逻辑核数量、频率和缓存这三种计算性能指标,w
core
、w
frequency
和w
cache
分别表示对应的权重,权重为正整数;
[0028]当应用是数据密集型时,运行存储性能评分插件,存储性能评分插件利用步骤2)中计算的存储性能信息对节点进行评分,计算公式为:
[0029][0030]式中,w
IOPS
和w
Throughput
分别表示IOPS和吞吐量性能指标的权重,和分别表示节点IOPS和吞吐量的性能得分,计算公式为:
[0031][0032]v是步骤2)中代表存储性能指标的节点读写文件的两种速率,作为Kubernetes标签附加在各节点上,单位为MB/s;其中,和计算公式是相同的,v是IOPS和吞吐量对应的不同的速率指标;
[0033]当应用是综合型时,将会同时运行以上三种性能评分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向边缘计算的Kubernetes调度方法,其特征在于,该方法适用于调度边缘环境中的容器化应用,包括以下步骤:1)计算边缘网络的拓扑结构以及节点间的网络延迟;2)收集各节点的计算性能和存储性能信息;3)对不同类别的Pod进行优先级排序,确定调度顺序;4)根据Pod所属应用类型来调用评分算法对所有节点进行性能评分;5)对节点的性能评分进行归一化处理并排序,将Pod调度到评分最高的节点上。2.根据权利要求1所述的一种面向边缘计算的Kubernetes调度方法,其特征在于,所述步骤1)包括以下步骤:1.1)获取边缘集群中每个节点的所有邻居节点,计算该节点到所有邻居节点的网络延迟,生成加权无向图形式的边缘网络拓扑,权重为相邻节点的延迟;1.2)运行Dijkstra算法计算上述边缘网络拓扑中任意节点之间的最短路径,即网络延迟最小的通信路径;1.3)边缘网络拓扑和节点间的通信延迟使用Kubernetes自定义资源对象保存在各个节点中。3.根据权利要求1所述的一种面向边缘计算的Kubernetes调度方法,其特征在于,所述步骤2)包括以下步骤:2.1)收集边缘集群中节点的计算性能信息,计算性能信息由CPU三个性能参数组成:逻辑核数量、频率大小和缓存大小;其中,当CPU支持睿频时,频率大小设为睿频大小,否则设为基频大小;使用Kubernetes标签将节点的CPU性能参数作为计算性能指标附加到对应的节点;2.2)计算边缘集群中节点的存储性能信息,存储性能信息由两个元素组成:IOPS和吞吐量,IOPS表示磁盘每秒的读写次数,吞吐量表示磁盘每秒的读写流量;节点初始化时,会分别计算节点读写1000个1KB小文件的速率以及读写1个1GB大文件的速率,前者作为该节点的IOPS指标,后者作为该节点的吞吐量指标,使用Kubernetes标签将这两者作为存储性能指标附加到对应的节点。4.根据权利要求1所述的一种面向边缘计算的Kubernetes调度方法,其特征在于,所述步骤3)包括以下步骤:3.1)按照Pod的功能对Pod打上类别标签,类别标签分为三种:接入Pod、逻辑Pod以及存储Pod,接入Pod负责通过边缘集群中的网关与客户端进行通信,逻辑Pod负责逻辑计算与任务处理,存储Pod负责持久化数据的读写;3.2)通过优先级队列对Pod进行排序,接入Pod的优先级最高,其次是逻辑Pod,存储Pod优先级最低,这使得接入Pod最先被调度,存储Pod最后被调度。5.根据权利要求1所述的一种面向边缘计算的Kubernetes调度方法,其特征在于,在步骤4)中,根据Pod所属应用类型来调用评分算法对所有节点进行性能评分,具体如下:当应用是延迟敏感型时,运行网络性能评分插件,网络性能评分插件利用步骤1)中计算的网络延迟信息对节点进行评分,延迟越低,得分越高;当Pod为接入Pod时,计算节点与网关之间的延迟得分;当Pod为逻辑Pod时,计算节点与应用接入Pod所在节点之间的延迟得分;当Pod是存储Pod时,计算节点与应用逻辑Pod所在节点之间的延迟得分;
当应用是计算密集型时,运行计算性能评分插件...

【专利技术属性】
技术研发人员:张幸林汪泽源
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1