CN114390101A - 一种基于BGP组网的Kubernetes负载均衡方法 - Google Patents

一种基于BGP组网的Kubernetes负载均衡方法 Download PDF

Info

Publication number
CN114390101A
CN114390101A CN202210002089.XA CN202210002089A CN114390101A CN 114390101 A CN114390101 A CN 114390101A CN 202210002089 A CN202210002089 A CN 202210002089A CN 114390101 A CN114390101 A CN 114390101A
Authority
CN
China
Prior art keywords
load balancing
service
bgp
kubernetes
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210002089.XA
Other languages
English (en)
Inventor
苏家巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hongji Information Technology Co Ltd
Original Assignee
Shanghai Hongji Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hongji Information Technology Co Ltd filed Critical Shanghai Hongji Information Technology Co Ltd
Priority to CN202210002089.XA priority Critical patent/CN114390101A/zh
Publication of CN114390101A publication Critical patent/CN114390101A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于BGP组网的Kubernetes负载均衡方法
技术领域
本发明涉及负载均衡技术领域,具体是指一种基于BGP组网的Kubernetes负载均衡方法。
背景技术
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 ProgrammingInterface,应用程序接口)是一些预先定义的接口;Calico作为一种常用的Kubernetes网络插件,使用BGP协议对各节点的容器网络进行路由交换。
随着Kubernetes虚拟化技术的兴起,应用架构的微服务化、系统的快速迭代对资源的弹性伸缩提出了更高的要求,要求负载均衡有更好的灵活性。Kubernetes提供了NodePort、LoadBalancer、Ingress三种方案发布服务。
目前的三种方案都有一些不完美的地方,只能支持七层应用的分发,对用户使用场景有所限制。NodePort会占用Kubernetes Node独立的端口,并且集群所有Node都要开通此端口的入访能力,限制了集群服务数量。一般会和集群外部的负载均衡设备搭配做双层负载,但对性能有一定影响。
发明内容
本发明要解决的技术问题是提供4-7层负载能力,基于BGP组网方案,负载均衡到Pod之间网络互通,绕开NodePort,实现Pod的直接发布,提高负载性能,简化结构,灵活发布服务。
为解决上述技术问题,本发明提供的技术方案为一种基于BGP组网的Kubernetes负载均衡方法,包括以下步骤:
步骤一:在Kubernetes部署CalicoBGP组网,所述CalicoBGP组网利用Linux内核建立高效的虚拟路由器来负责数据转发;
步骤二:配置集群外部的负载均衡,使其加入BGP网络中,实现负载均衡到Pod的网络直通;
步骤三:在Kubernetes中部署负载均衡控制器容器,控制器监听API SERVER,并将服务变化同步到集群外部的负载均衡上;
步骤四:用户向Kubernetes中发布ConfigMap,ConfigMap中描述了需要发布到负载均衡的Service、虚拟服务相关配置,经控制器感知后同步到负载均衡上,完成服务发布;
步骤五:外部用户请求先到达负载均衡设备,经负载后均衡的转发到对应的一组Pod上。
作为改进,所述步骤一中的每个虚拟路由器通过BGP协议负责把自己上运行的工作信息的路由信息向整个Calico网络内传播。
作为改进,所述步骤三中服务变化包括ConfigMap、Service、Pod的变化。
本发明与现有技术相比的优点在于:本发明方法提供4-7层的负载的负载能力,Pod直接发布到负载均衡上,相比较NodePort+外部负载均衡设备,不占用集群Node端口,不需要集群内部Kube-Proxy参与,提升了网络性能,提供更丰富的健康检查,会话保持能力。
附图说明
图1是本发明一种基于BGP组网的Kubernetes负载均衡方法的原理图。
图2是本发明一种基于BGP组网的Kubernetes负载均衡方法的流程图。
具体实施方式
下面结合附图对本发明一种基于BGP组网的Kubernetes负载均衡方法做进一步的详细说明。
结合附图1-2,一种基于BGP组网的Kubernetes负载均衡方法,包括以下步骤:
步骤一:在Kubernetes部署Calico BGP组网,所述Calico BGP组网利用Linux内核建立高效的虚拟路由器来负责数据转发;
步骤二:配置集群外部的负载均衡,使其加入BGP网络中,实现负载均衡到Pod的网络直通;
步骤三:在Kubernetes中部署负载均衡控制器容器,控制器监听API SERVER,并将服务变化同步到集群外部的负载均衡上;
步骤四:用户向Kubernetes中发布ConfigMap,ConfigMap中描述了需要发布到负载均衡的Service、虚拟服务相关配置,经控制器感知后同步到负载均衡上,完成服务发布;
步骤五:外部用户请求先到达负载均衡设备,经负载后均衡的转发到对应的一组Pod上。
所述步骤一中的每个虚拟路由器通过BGP协议负责把自己上运行的工作信息的路由信息向整个Calico网络内传播。
所述步骤三中服务变化包括ConfigMap、Service、Pod的变化。
本发明一种基于BGP组网的Kubernetes负载均衡方法的具体实施过程如下:
Kubernetes部署Calico BGP组网,Calico BGP组网利用Linux内核建立高效的虚拟路由器来负责数据转发,每个虚拟路由器通过BGP协议负责把自己上运行的工作信息的路由信息向整个Calico网络内传播;
负载均衡配置BGP邻居,加入BGP组网,实现负载均衡到Pod的网络互通;
Kubernetes部署负载均衡控制器容器,通过监听Kubernetes API SERVER感知ConfigMap、Service、Pod等变化,并同步到集群外部的负载均衡上;
用户通过ConfigMap发布服务,ConfigMap描述要发布的Service以及负载均衡相关配置;
控制器感知到ConfigMap,将服务同步到负载均衡。
以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

Claims (3)

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的变化。
CN202210002089.XA 2022-01-04 2022-01-04 一种基于BGP组网的Kubernetes负载均衡方法 Pending CN114390101A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210002089.XA CN114390101A (zh) 2022-01-04 2022-01-04 一种基于BGP组网的Kubernetes负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210002089.XA CN114390101A (zh) 2022-01-04 2022-01-04 一种基于BGP组网的Kubernetes负载均衡方法

Publications (1)

Publication Number Publication Date
CN114390101A true CN114390101A (zh) 2022-04-22

Family

ID=81200775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210002089.XA Pending CN114390101A (zh) 2022-01-04 2022-01-04 一种基于BGP组网的Kubernetes负载均衡方法

Country Status (1)

Country Link
CN (1) CN114390101A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111447146A (zh) * 2020-03-20 2020-07-24 上海中通吉网络技术有限公司 物理路由信息的动态更新方法、装置、设备和存储介质
WO2020161561A1 (en) * 2019-02-04 2020-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Local service announcement in a stretched cluster
CN112764886A (zh) * 2021-01-29 2021-05-07 上海弘积信息科技有限公司 一种基于Kubernetes平台的负载均衡控制器
CN113783922A (zh) * 2021-03-26 2021-12-10 北京沃东天骏信息技术有限公司 负载均衡的方法、系统和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法
WO2020161561A1 (en) * 2019-02-04 2020-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Local service announcement in a stretched cluster
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111447146A (zh) * 2020-03-20 2020-07-24 上海中通吉网络技术有限公司 物理路由信息的动态更新方法、装置、设备和存储介质
CN112764886A (zh) * 2021-01-29 2021-05-07 上海弘积信息科技有限公司 一种基于Kubernetes平台的负载均衡控制器
CN113783922A (zh) * 2021-03-26 2021-12-10 北京沃东天骏信息技术有限公司 负载均衡的方法、系统和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE木川: "Kubernetes集群部署(三)——service,k8s网络通信 calico网络插件", 《HTTPS://BLOG.CSDN.NET/WEIXIN_56993834/ARTICLE/DETAILS/119175822 》, pages 1 - 3 *

Similar Documents

Publication Publication Date Title
CN111796905B (zh) 一种kubernetes容器云平台VLAN网络的实现方法及系统
US10666609B2 (en) Management of domain name systems in a large-scale processing environment
US9999030B2 (en) Resource provisioning method
Guo et al. Secondnet: a data center network virtualization architecture with bandwidth guarantees
CN109716717A (zh) 从软件定义的网络控制器管理虚拟端口信道交换机对等体
CN103607430A (zh) 一种网络处理的方法和系统及网络控制中心
CN111510515B (zh) 一种区分混合应用环境的容器的方法及装置
WO2015172362A1 (zh) 一种网络功能虚拟化网络系统、数据处理方法及装置
US9112769B1 (en) Programatically provisioning virtual networks
CN109462511B (zh) 网络的建立方法及装置
CN105704042A (zh) 报文处理方法、bng及bng集群系统
CN108574613B (zh) Sdn数据中心的二层互通方法及装置
US11824765B2 (en) Fast redirect of traffic when pods fail
CN112491984B (zh) 基于虚拟网桥的容器编排引擎集群管理系统
CN111447146A (zh) 物理路由信息的动态更新方法、装置、设备和存储介质
WO2021173318A1 (en) Vrf segregation for shared services in multi-fabric cloud networks
Abdelaal et al. High availability deployment of virtual network function forwarding graph in cloud computing environments
CN113381936A (zh) 网络信息处理方法、装置及网络设备
Lin et al. Energy-aware service function chaining embedding in NFV networks
WO2022017099A1 (zh) 通信方法、cp设备及nat设备
CN112929206B (zh) 一种云网环境下云物理机配置的方法与装置
CN114172753B (zh) 地址预留的方法、网络设备和系统
Huang et al. Embedding virtual software-defined networks over distributed hypervisors for vDC formulation
CN106209634B (zh) 地址映射关系的学习方法及装置
Sun et al. AI-based survivable design for hybrid virtual networks for single regional failures in cloud data centers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination