一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于BGP组网的Kubernetes负载均衡方法与流程

2022-04-24 23:55:27 来源:中国专利 TAG:

一种基于bgp组网的kubernetes负载均衡方法
技术领域
1.本发明涉及负载均衡技术领域,具体是指一种基于bgp组网的kubernetes负载均衡方法。


背景技术:

2.kubernetes是google开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能。利用kubernetes能够方便地管理跨机器运行容器化的应用。在kubernetes技术中,pod是基本操作单元,由一个或多个容器构成;其中,若pod由多个容器构成,构成一个pod的多个容器处于kubernetes集群的同一节点(即主机)。由于pod会在kubernetes集群的各个节点上漂移,pod的地址并不固定,这导致无法访问pod。kubernetes进而引入service的概念,service也是kubernetes的基本操作单元,具有固定不变的dns(domain name system,域名系统)域名。由service代理pod后,可以通过service的dns域名访问其代理的pod;configmap类型的资源用于保存应用程序的配置信息;api(application programming interface,应用程序接口)是一些预先定义的接口;calico作为一种常用的kubernetes网络插件,使用bgp协议对各节点的容器网络进行路由交换。
3.随着kubernetes虚拟化技术的兴起,应用架构的微服务化、系统的快速迭代对资源的弹性伸缩提出了更高的要求,要求负载均衡有更好的灵活性。kubernetes提供了nodeport、loadbalancer、ingress三种方案发布服务。
4.目前的三种方案都有一些不完美的地方,只能支持七层应用的分发,对用户使用场景有所限制。nodeport会占用kubernetes node独立的端口,并且集群所有node都要开通此端口的入访能力,限制了集群服务数量。一般会和集群外部的负载均衡设备搭配做双层负载,但对性能有一定影响。


技术实现要素:

5.本发明要解决的技术问题是提供4-7层负载能力,基于bgp组网方案,负载均衡到pod之间网络互通,绕开nodeport,实现pod的直接发布,提高负载性能,简化结构,灵活发布服务。
6.为解决上述技术问题,本发明提供的技术方案为一种基于bgp组网的kubernetes负载均衡方法,包括以下步骤:
7.步骤一:在kubernetes部署calicobgp组网,所述calicobgp组网利用linux内核建立高效的虚拟路由器来负责数据转发;
8.步骤二:配置集群外部的负载均衡,使其加入bgp网络中,实现负载均衡到pod的网络直通;
9.步骤三:在kubernetes中部署负载均衡控制器容器,控制器监听api server,并将服务变化同步到集群外部的负载均衡上;
10.步骤四:用户向kubernetes中发布configmap,configmap中描述了需要发布到负
载均衡的service、虚拟服务相关配置,经控制器感知后同步到负载均衡上,完成服务发布;
11.步骤五:外部用户请求先到达负载均衡设备,经负载后均衡的转发到对应的一组pod上。
12.作为改进,所述步骤一中的每个虚拟路由器通过bgp协议负责把自己上运行的工作信息的路由信息向整个calico网络内传播。
13.作为改进,所述步骤三中服务变化包括configmap、service、pod的变化。
14.本发明与现有技术相比的优点在于:本发明方法提供4-7层的负载的负载能力,pod直接发布到负载均衡上,相比较nodeport 外部负载均衡设备,不占用集群node端口,不需要集群内部kube-proxy参与,提升了网络性能,提供更丰富的健康检查,会话保持能力。
附图说明
15.图1是本发明一种基于bgp组网的kubernetes负载均衡方法的原理图。
16.图2是本发明一种基于bgp组网的kubernetes负载均衡方法的流程图。
具体实施方式
17.下面结合附图对本发明一种基于bgp组网的kubernetes负载均衡方法做进一步的详细说明。
18.结合附图1-2,一种基于bgp组网的kubernetes负载均衡方法,包括以下步骤:
19.步骤一:在kubernetes部署calico bgp组网,所述calico bgp组网利用linux内核建立高效的虚拟路由器来负责数据转发;
20.步骤二:配置集群外部的负载均衡,使其加入bgp网络中,实现负载均衡到pod的网络直通;
21.步骤三:在kubernetes中部署负载均衡控制器容器,控制器监听api server,并将服务变化同步到集群外部的负载均衡上;
22.步骤四:用户向kubernetes中发布configmap,configmap中描述了需要发布到负载均衡的service、虚拟服务相关配置,经控制器感知后同步到负载均衡上,完成服务发布;
23.步骤五:外部用户请求先到达负载均衡设备,经负载后均衡的转发到对应的一组pod上。
24.所述步骤一中的每个虚拟路由器通过bgp协议负责把自己上运行的工作信息的路由信息向整个calico网络内传播。
25.所述步骤三中服务变化包括configmap、service、pod的变化。
26.本发明一种基于bgp组网的kubernetes负载均衡方法的具体实施过程如下:
27.kubernetes部署calico bgp组网,calico bgp组网利用linux内核建立高效的虚拟路由器来负责数据转发,每个虚拟路由器通过bgp协议负责把自己上运行的工作信息的路由信息向整个calico网络内传播;
28.负载均衡配置bgp邻居,加入bgp组网,实现负载均衡到pod的网络互通;
29.kubernetes部署负载均衡控制器容器,通过监听kubernetes api server感知configmap、service、pod等变化,并同步到集群外部的负载均衡上;
30.用户通过configmap发布服务,configmap描述要发布的service以及负载均衡相
关配置;
31.控制器感知到configmap,将服务同步到负载均衡。
32.以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。


技术特征:
1.一种基于bgp组网的kubernetes负载均衡方法,其特征在于,包括以下步骤:步骤一:在kubernetes部署calico bgp组网,所述calico bgp组网利用linux内核建立高效的虚拟路由器来负责数据转发;步骤二:配置集群外部的负载均衡,使其加入bgp网络中,实现负载均衡到pod的网络直通;步骤三:在kubernetes中部署负载均衡控制器容器,控制器监听api server,并将服务变化同步到集群外部的负载均衡上;步骤四:用户向kubernetes中发布configmap,configmap中描述了需要发布到负载均衡的service、虚拟服务相关配置,经控制器感知后同步到负载均衡上,完成服务发布;步骤五:外部用户请求先到达负载均衡设备,经负载后均衡的转发到对应的一组pod上。2.根据权利要求1所述的一种基于bgp组网的kubernetes负载均衡方法,其特征在于:所述步骤一中的每个虚拟路由器通过bgp协议负责把自己上运行的工作信息的路由信息向整个calico网络内传播。3.根据权利要求1所述的一种基于bgp组网的kubernetes负载均衡方法,其特征在于:所述步骤三中服务变化包括configmap、service、pod的变化。

技术总结
本发明公开了一种基于BGP组网的Kubernetes负载均衡方法,本发明方法提供4-7层的负载的负载能力,Pod直接发布到负载均衡上,相比较NodePort 外部负载均衡设备,不占用集群Node端口,不需要集群内部Kube-Proxy参与,提升了网络性能,提供更丰富的健康检查,会话保持能力。话保持能力。话保持能力。


技术研发人员:苏家巍
受保护的技术使用者:上海弘积信息科技有限公司
技术研发日:2022.01.04
技术公布日:2022/4/22
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献