云边环境中面向CPU异构集群的容器化微服务负载均衡方法技术

技术编号:34440416 阅读:13 留言:0更新日期:2022-08-06 16:29
本发明专利技术公开了一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法,本发明专利技术包括确定目标微服务的各个容器单元Pod副本在对应节点上的CPU使用量;根据各个容器单元Pod副本在对应节点上的CPU使用量,确定目标微服务的各个容器单元Pod副本所在节点的CPU单线程能力;分别根据所在节点的CPU单线程能力调整目标微服务为对应容器单元Pod分配的负载以实现各个容器单元Pod副本之间的负载均衡。本发明专利技术通过采用采集容器负载信息、计算并调整容器间负载权重等方法,能够对现有负载均衡机制进行改进和优化,在保证较好的负载均衡效果的同时,兼顾良好的运行效率,可有效提高资源利用率和微服务性能。率和微服务性能。率和微服务性能。

【技术实现步骤摘要】
云边环境中面向CPU异构集群的容器化微服务负载均衡方法


[0001]本专利技术涉及属于计算机
,具体涉及一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法。

技术介绍

[0002]容器虚拟化技术以其轻便、灵活、占用资源少和快速部署等特性,不仅在云计算领域得到了广泛应用,面向边缘场景的多样化需求也具有良好的适应性。Kubernetes是由谷歌开源的容器编排引擎,用于管理集群中多个主机上的容器化应用,为容器化的应用提供了自动化部署、扩容及缩容、存储编排、自我修复、服务发现和负载均衡等一整套功能,已成为容器编排领域事实上的标准。
[0003]目前,Kubernetes主要部署于云端数据中心用于容器集群的管理,云数据中心的节点通常是同构的,节点之间的差异很小。虽然KubeEdge等边缘项目扩展了Kubernetes,将Kubernetes从云扩展到了边,实现云边融合、统一管理,但KubeEdge等边缘项目旨在解决一些网络受限、只有内部私网地址的边缘场景,使得边缘侧具有自治能力,并没有改变Kubernetes的负载均衡方式。
[0004]与云数据中心不同,在云边环境中,由于边缘设备的多样性,其CPU ISA架构、主频等往往存在较大差异,即使是ISA架构相同的CPU,其单线程计算能力的不同也普遍存在。在容器集群中,一个微服务通常是由多个容器实例提供具体服务,这些容器实例具有相同数量的资源配置,但又通常分布在不同的节点上,在CPU异构的集群中,节点CPU性能的差异将导致其实际计算能力的不同。目前的容器编排系统仅提供基于轮询或随机等粗粒度的负载均衡算法,各容器副本的负载权重相等,这在CPU异构的集群中无法实现容器副本间的负载均衡,CPU性能相对较低节点上的容器将可能过载而产生阻塞,而CPU性能相对较高节点上的容器会存在资源利用不足而浪费。因此,云边环境下Kubernetes在CPU异构集群中将存在容器副本间负载不均衡的问题。

技术实现思路

[0005]本专利技术要解决的技术问题:针对容器化微服务在CPU异构集群中存在的负载不均衡、资源利用率低和微服务性能受限等问题,提供一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法,本专利技术通过采用采集容器负载信息、计算并调整容器间负载权重等方法,能够对现有负载均衡机制进行改进和优化,在保证较好的负载均衡效果的同时,兼顾良好的运行效率,可有效提高资源利用率和微服务性能。
[0006]为了解决上述技术问题,本专利技术采用的技术方案为:
[0007]一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法,包括:
[0008]1)确定目标微服务的各个容器单元Pod副本在对应节点上的CPU使用量;
[0009]2)根据各个容器单元Pod副本在对应节点上的CPU使用量,确定目标微服务的各个容器单元Pod副本所在节点的CPU单线程能力;
[0010]3)分别根据所在节点的CPU单线程能力调整目标微服务为对应容器单元Pod分配的负载以实现各个容器单元Pod副本之间的负载均衡。
[0011]可选地,步骤2)中确定目标微服务的各个容器单元Pod副本所在节点的CPU单线程能力时,指定目标微服务的任意第1个容器单元Pod副本所在节点p的CPU单线程能力K
p
作为基准1,任意第k个容器单元Pod副本所在节点q的CPU单线程能力K
q
的计算函数表达式为:
[0012][0013]上式中,C
1p
表示目标微服务的第1个容器单元Pod副本在对应节点p上的CPU使用量,ω1表示目标微服务的第1个容器单元Pod副本当前的负载权重,C
iq
表示目标微服务的第i个容器单元Pod副本在对应节点q上的CPU使用量,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重。
[0014]可选地,步骤3)包括:
[0015]3.1)分别根据目标微服务的各个容器单元Pod所在节点的CPU单线程能力计算对应容器单元Pod的负载权重;
[0016]3.2)分别根据目标微服务的各个容器单元Pod的负载权重,计算目标微服务为对应容器单元Pod分配负载的转发概率;
[0017]3.3)根据目标微服务为对应容器单元Pod分配负载的转发概率调整目标微服务为对应容器单元Pod分配的负载以实现各个容器单元Pod副本之间的负载均衡。
[0018]可选地,步骤3.1)中负载权重的计算函数表达式为:
[0019][0020]上式中,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重,K
i
表示目标微服务的任意第i个容器单元Pod副本所在节点p的CPU单线程能力,K
j
表示目标微服务的任意第j个容器单元Pod副本所在节点p的CPU单线程能力,n表示目标微服务对应的容器单元Pod副本数量。
[0021]可选地,步骤3.2)中转发概率的计算函数表达式为:
[0022][0023]上式中,P
i
表示目标微服务为第i个容器单元Pod分配负载的转发概率,P
j
表示目标微服务为第j个容器单元Pod分配负载的转发概率,ω1表示目标微服务的第1个容器单元Pod副本当前的负载权重,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重,n表示目标微服务对应的容器单元Pod副本数量。
[0024]可选地,步骤3.3)中根据目标微服务为对应容器单元Pod分配负载的转发概率调整目标微服务为对应容器单元Pod分配的负载时,采用iptables工具调整目标微服务为对应容器单元Pod分配的负载:根据目标微服务及其各个容器单元Pod的元数据信息匹配目标微服务对应的各个容器单元Pod的iptables路由转发规则,通过iptables命令根据各容器单元Pod分配负载的转发概率更新对应容器单元Pod的iptables路由转发规则。
[0025]此外,本专利技术还提供一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法,包括:
[0026]S1)获取CPU异构集群中的各个微服务及其对应容器单元Pod副本的对应关系,以及微服务及其对应容器单元Pod副本的元数据信息;
[0027]S2)从CPU异构集群的所有微服务中取出一个微服务作为目标微服务,若遍历成功则跳转下一步,若遍历完毕,则跳转步骤S6);
[0028]S3)判断目标微服务对应容器单元Pod副本的数量是否为1,若为1,则跳转执行步骤S2),否则,跳转下一步;
[0029]S4)根据目标微服务对应的容器单元Pod副本的CPU使用量计算对应的CPU利用率,并计算目标微服务对应的所有n个容器单元Pod副本的CPU利用率的标准差,判断该标准差是否大于设定的阈值,若大于设定的阈值,则执行下一步,否则跳转执行步骤S2);
[0030]S5)针对目标微服务执行所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云边环境中面向CPU异构集群的容器化微服务负载均衡方法,其特征在于包括:1)确定目标微服务的各个容器单元Pod副本在对应节点上的CPU使用量;2)根据各个容器单元Pod副本在对应节点上的CPU使用量,确定目标微服务的各个容器单元Pod副本所在节点的CPU单线程能力;3)分别根据所在节点的CPU单线程能力调整目标微服务为对应容器单元Pod分配的负载以实现各个容器单元Pod副本之间的负载均衡。2.根据权利要求1所述的云边环境中面向CPU异构集群的容器化微服务负载均衡方法,其特征在于,步骤2)中确定目标微服务的各个容器单元Pod副本所在节点的CPU单线程能力时,指定目标微服务的任意第1个容器单元Pod副本所在节点p的CPU单线程能力K
p
作为基准1,任意第k个容器单元Pod副本所在节点q的CPU单线程能力K
q
的计算函数表达式为:上式中,C
1p
表示目标微服务的第1个容器单元Pod副本在对应节点p上的CPU使用量,ω1表示目标微服务的第1个容器单元Pod副本当前的负载权重,C
iq
表示目标微服务的第i个容器单元Pod副本在对应节点q上的CPU使用量,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重。3.根据权利要求1所述的云边环境中面向CPU异构集群的容器化微服务负载均衡方法,其特征在于,步骤3)包括:3.1)分别根据目标微服务的各个容器单元Pod所在节点的CPU单线程能力计算对应容器单元Pod的负载权重;3.2)分别根据目标微服务的各个容器单元Pod的负载权重,计算目标微服务为对应容器单元Pod分配负载的转发概率;3.3)根据目标微服务为对应容器单元Pod分配负载的转发概率调整目标微服务为对应容器单元Pod分配的负载以实现各个容器单元Pod副本之间的负载均衡。4.根据权利要求3所述的云边环境中面向CPU异构集群的容器化微服务负载均衡方法,其特征在于,步骤3.1)中负载权重的计算函数表达式为:上式中,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重,K
i
表示目标微服务的任意第i个容器单元Pod副本所在节点p的CPU单线程能力,K
j
表示目标微服务的任意第j个容器单元Pod副本所在节点p的CPU单线程能力,n表示目标微服务对应的容器单元Pod副本数量。5.根据权利要求3所述的云边环境中面向CPU异构集群的容器化微服务负载均衡方法,其特征在于,步骤3.2)中转发概率的计算函数表达式为:上式中,P
i
表示目标微服务为第i个容器单元Pod分配负载的转发概率,P
j
表示目标微服
务为第j个容器单元Pod分配负载的转发概率,ω1表示目标微服务的第1个容器单元Pod副本当前的负载权重,ω
i
表示目标微服务的第i个容器单元Pod副本当前的负载权重,n表示目标微服务对应的容器单元Pod副本数...

【专利技术属性】
技术研发人员:任怡王庆坤谭郁松李宝董攀张建锋蹇松雷阳国贵王晓川丁滟谭霜姜智文李漠赵俊
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1