[发明专利]一种集群负载均衡实现方法及系统有效
申请号: | 202310422581.7 | 申请日: | 2023-04-20 |
公开(公告)号: | CN116170443B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 安超云软件有限公司 |
主分类号: | H04L67/1001 | 分类号: | H04L67/1001;H04L67/141 |
代理公司: | 苏州友佳知识产权代理事务所(普通合伙) 32351 | 代理人: | 储振 |
地址: | 214000 江苏省无*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 负载 均衡 实现 方法 系统 | ||
本发明提供了一种集群负载均衡实现方法及系统,该方法包括:在控制集群与服务集群分别创建第一计算机实例与第二计算机实例;于第二计算机实例与至少一个第一计算机实例之间建立BGP会话,并由第二计算机实例基于BGP会话将第二计算机实例所属工作节点的节点信息广播至第一计算机实例;于第一计算机实例之间以及第二计算机实例之间分别建立BGP连接;其中,服务集群中第二计算机实例所属工作节点的数量至少为两个。通过本发明,由至少一个第一计算机实例所形成的控制集群代替硬件路由器以实现BGP模式下的服务集群中多个工作节点间的负载均衡。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种集群负载均衡实现方法及系统。
背景技术
Calico是一套开源的网络和网络安全方案,用于容器、虚拟机、宿主机之间的网络连接,可用于Kubernetes、OpenShift、DockerEE、OpenStrack等PaaS或IaaS平台。以Kubernetes为例,由于Calico场景下的Kubernetes集群没有负载均衡的功能,该功能一般由云厂商提供,一般通过引入MetalLB组件予以实现。
MetalLB组件由控制器组件(即,Controller组件)与扬声器组件(即,Speaker组件)构成,控制器组件负责监听Kubernetes集群的各个节点中服务的变化,当服务被配置为负载均衡模式时,从IP地址池中给到服务相应的IP地址,按具体的协议发起相应的广播或应答,根据工作模式的不同(Layer2模式或者BGP模式)采用不同的方式响应请求。针对于BGP模式下的MetalLB组件,需依赖于具备BGP功能的硬件路由器,Kubernetes集群中的各个节点均与硬件路由器建立BGP会话,并基于BGP会话通告硬件路由器服务的IP地址,由硬件路由器使用所有下一跳,并在节点间进行负载均衡,因此现有技术中的MetalLB组件实现Kubernetes集群的负载均衡功能对硬件路由器强依赖。硬件路由器是指具有路由转发功能的硬件设备,需要于物理机外部署至少一个硬件路由器设备以进行路由的转发,对于硬件设备而言,需保证硬件设备的电源连接,同时硬件路由器还依赖于网络部署,进而存在成本问题以及容易断开所导致的不稳定问题。
有鉴于此,有必要对现有技术中的BGP模式下的MetalLB负载均衡实现方法予以改进,以解决上述问题。
发明内容
本发明的目的在于解决现有技术中Calico场景下通过MetalLB组件实现集群负载均衡功能对硬件路由器强依赖所导致的成本问题与不稳定问题。
为实现上述目的,本发明提供了一种集群负载均衡实现方法,包括:
在控制集群与服务集群分别创建第一计算机实例与第二计算机实例;
于所述第二计算机实例与至少一个第一计算机实例之间建立BGP会话,并由第二计算机实例基于所述BGP会话将第二计算机实例所属工作节点的节点信息广播至第一计算机实例;
于第一计算机实例之间及第二计算机实例之间分别建立BGP连接;
其中,服务集群中第二计算机实例所属工作节点的数量至少为两个。
作为本发明的进一步改进,所述控制集群中与第二计算机实例建立BGP会话的第一计算机实例由第一计算机实例向第二计算机实例转发的XMPP格式的应答报文所携带的时延最短所对应的第一计算机实例予以确定,所述应答报文响应于第二计算机实例所发起的BGP会话创建请求事件。
作为本发明的进一步改进,所述控制集群中第一计算机实例的数量大于或等于三个,且一个第二计算机实例分别与至少两个第一计算机实例建立BGP会话。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安超云软件有限公司,未经安超云软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310422581.7/2.html,转载请声明来源钻瓜专利网。