一种基于Kubernetes的负载均衡方法及其装置制造方法及图纸

技术编号:37609512 阅读:20 留言:0更新日期:2023-05-18 12:01
本发明专利技术公开了一种基于Kubernetes的负载均衡方法及其装置,涉及负载均衡技术领域。该基于Kubernetes的负载均衡方法,包括以下应用步骤:S1、启动Kubernetes集群中的Pod负载调节器;S2、监控并获取Service下对应的Pod及Pod所在工作节点的信息,该信息由Pod负载调节器监控并获取,本发明专利技术可使得Kubernetes中的应用实现一种更加均衡的流量转发方式,并且应用的所有副本都能得到合理的流量,同时应用的运行将变得更加稳定,避免应用多副本局部因承担过高的负载导致崩溃而影响业务,提高Kubernetes应用,特别是大规模Kubernetes集群的应用的稳定性。性。性。

【技术实现步骤摘要】
一种基于Kubernetes的负载均衡方法及其装置


[0001]本专利技术涉及负载均衡
,具体为一种基于Kubernetes的负载均衡方法及其装置。

技术介绍

[0002]Kubernetes是一个开源的容器编排引擎,用于管理云平台中多个主机上的容器化的应用,它支持自动化部署、大规模可伸缩、应用容器化部署。在Kubernetes中,集群由主机节点组成,节点分为控制节点和工作节点。Pod是最小的调度管理单元,一个Pod代表着一个进程、一个程序或一个应用副本,经过Kubernetes调度,Pod最终会运行在集群某个节点上。
[0003]通常地,在Kubernetes生产环境中,应用程序会以多副本的方式运行以对应用请求进行负载均衡。使用者可以通过Kubernetes的Service配置将应用向外暴露到负载均衡器,此种方式下,运行在Kubernetes中的Service服务控制器监听到Service资源变化,会将应用Pod所在主机节点的IP及应用Pod暴露的端口绑定到负载均衡器。
[0004]然而,应用的每一个副本常常不是均匀地分布在每个主机节点的,如图3所示,每个工作节点上的应用Pod数量是不均等的,这样就造成了在负载均衡器看来,工作节点接收到的流量是均衡的,但实际对于后端应用Pod来说流量并不均衡的情况。应用Pod数量较少的工作节点上的Pod最终承载的流量会比其他工作节点上的Pod成倍增加,随着Kubernetes集群规模的扩大、应用规模的增加或业务流量高峰来临时,极有可能导致Pod过载崩溃,进而影响应用的稳定性和可靠性,所以我们提出了一种基于Kubernetes的负载均衡方法及其装置来解决上述存在的问题。

技术实现思路

[0005]针对现有技术的不足,本专利技术提供了一种基于Kubernetes的负载均衡方法及其装置,解决了可使得Kubernetes中的应用实现一种更加均衡的流量转发方式,并且应用的所有副本都能得到合理的流量,同时应用的运行将变得更加稳定,避免应用多副本局部因承担过高的负载导致崩溃而影响业务,提高Kubernetes应用,特别是大规模Kubernetes集群的应用的稳定性。
[0006]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0007]一种基于Kubernetes的负载均衡方法,包括以下应用步骤:
[0008]S1、启动Kubernetes集群中的Pod负载调节器;
[0009]S2、监控并获取Service下对应的Pod及Pod所在工作节点的信息,该信息由Pod负载调节器监控并获取;
[0010]S3、按照比例Pod负载调节器为工作节点分配权重;
[0011]S4、根据配置好的工作节点权重比例分配流量,以达到应用流量均衡目的。
[0012]进一步地,所述Kubernetes集群由控制节点和工作节点搭建而成,并且API Server作为集群核心组件默认运行并提供集群API服务。
[0013]进一步地,所述Pod负载调节器具有访问集群Service、Pod和节点的权限,并且Pod负载调节器与API Server建立连接监听Service的变化。
[0014]进一步地,所述Pod负载调节器是作为组件运行在Kubernetes集群中,并通过API Server监控集群Service资源的变更、获取Pod和节点信息、获取节点资源使用率数据。
[0015]进一步地,所述Kubernetes集群有Service创建或更新时,Service下对应的Pod所在的工作节点绑定到负载均衡器。
[0016]进一步地,所述工作节点组成负载均衡器的上游服务器组。
[0017]进一步地,所述Pod负载调节器监控到Service的创建或更新,通过API Server获取到Service下对应的Pod及Pod所在工作节点的信息。
[0018]进一步地,所述S4中在Pod负载调节器按照比例为工作节点分配权重之前先判断工作节点资源是否充足:
[0019]若是,根据负载均衡器的上游服务器组配置设置对应工作节点的权重并更新到负载均衡器;
[0020]若否,Pod负载调节器设置节点资源使用率的阈值,并对权重进行调整,同时更新到负载均衡器中。
[0021]进一步地,所述节点资源使用率包括CPU使用率、内存使用率、网络IO。
[0022]一种基于Kubernetes的负载均衡装置,包括:
[0023]启动模块,用于启动Kubernetes集群中的Pod负载调节器;
[0024]监控获取模块,用于监控并获取Service下对应的Pod及Pod所在工作节点的信息,该信息由Pod负载调节器监控并获取;
[0025]分配权重模块,用于将按照比例Pod负载调节器为工作节点分配权重;
[0026]分配流量模块,用于根据配置好的工作节点权重比例分配流量,以达到应用流量均衡目的。
[0027]本专利技术具有以下有益效果:
[0028]该基于Kubernetes的负载均衡方法,核心在于实现Pod负载调节器,Pod负载调节器通过API Server监控Kubernetes中绑定了负载均衡器的Service资源,并从中统计出Service所对应的后端Pod在每个工作节点的数量,然后根据得到的Pod数量情况设置工作节点在负载均衡器中的权重;
[0029]Pod数量较多的工作节点分配到的权重较大,相应地,该工作节点接收到的负载均衡器的流量较多;
[0030]当工作节点将流量转发到实际后端Pod时,因为该工作节点上的后端Pod数量较多,则实际Pod分摊到的流量与其他节点的Pod相差无异,最终达到所有后端Pod流量均衡的效果。
[0031]当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0032]图1为本专利技术整体流程图;
[0033]图2为本专利技术基于Kubernetes的负载均衡图;
[0034]图3为应用Pod暴露到负载均衡器的典型结构。
具体实施方式
[0035]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0036]在本专利技术的描述中,需要理解的是,术语“开孔”、“上”、“下”、“厚度”、“顶”、“中”、“长度”、“内”、“四周”等指示方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0037]本专利技术实施例提供一种技术方案:一种基于Kubernetes的负载均衡方法,如图1所示,包括以下应用步骤:
[0038]S1、启动Kubernetes本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的负载均衡方法,其特征在于:包括以下应用步骤:S1、启动Kubernetes集群中的Pod负载调节器;S2、监控并获取Service下对应的Pod及Pod所在工作节点的信息,该信息由Pod负载调节器监控并获取;S3、按照比例Pod负载调节器为工作节点分配权重;S4、根据配置好的工作节点权重比例分配流量,以达到应用流量均衡目的。2.根据权利要求1所述的一种基于Kubernetes的负载均衡方法,其特征在于:所述Kubernetes集群由控制节点和工作节点搭建而成,并且API Server作为集群核心组件默认运行并提供集群API服务。3.根据权利要求1所述的一种基于Kubernetes的负载均衡方法,其特征在于:所述Pod负载调节器具有访问集群Service、Pod和节点的权限,并且Pod负载调节器与API Server建立连接监听Service的变化。4.根据权利要求1所述的一种基于Kubernetes的负载均衡方法,其特征在于:所述Pod负载调节器是作为组件运行在Kubernetes集群中,并通过API Server监控集群Service资源的变更、获取Pod和节点信息、获取节点资源使用率数据。5.根据权利要求1所述的一种基于Kubernetes的负载均衡方法,其特征在于:所述Kubernetes集群有Service创建或更新时,Service下对应的Pod所在的工作节点绑定到负载...

【专利技术属性】
技术研发人员:徐桂煜蔡岳阳林位宁
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1