[发明专利]一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法有效
| 申请号: | 202010208970.6 | 申请日: | 2020-03-23 |
| 公开(公告)号: | CN111427625B | 公开(公告)日: | 2023-03-24 |
| 发明(设计)人: | 韦克璐;王志雄;赵凯麟 | 申请(专利权)人: | 中国—东盟信息港股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F9/50 |
| 代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 王雪 |
| 地址: | 530200 广西壮*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 动态 路由 构建 kubernetes 容器 外部 负载 均衡器 方法 | ||
1.一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法,其特征在于,包括下述步骤:
S1、通过yaml或json配置文件将LBController组件、LBAnnouncer组件及LBAgent组件初始化至Kubernetes的集群中并使所述LBController组件、所述LBAnnouncer及所述LBAgent组件运行在节点上;
S2、所述LBController通过kube-apiserver监控Kubernetes群集中的LoadBalancer类型Service及Endpoints的变化,并管理及分配LoadBalancer类型Service IP;所述LBAnnouncer组件与所述LBController组件连接,以获取所述LBController组件中LoadBalancer类型Service及Endpoints变化信息的数据,所述LBAnnouncer组件与leaf路由器独立建立BGP邻居,以广播Service IP的路由,并使LoadBalancer类型Service IP能够对外暴露;所述LBAgent组件能够获取Endpoints变化信息的数据,并通过iptables规则对原有的负载均衡进行修改;
S3、外部访问的请求访问步骤S2所暴露的LoadBalancer类型Service IP,通过spine-leaf架构访问到leaf路由器,leaf路由器根据等价路由完成的负载均衡,确定了请求的下一跳地址,将请求均衡分配到某个工作节点上后,外部访问的请求根据对应工作节点上的iptables规则进入对应工作节点上的容器。
2.根据权利要求1所述的一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法,其特征在于:步骤S1中,所述LBController组件及所述LBAnnouncer按照Kubernetes的调度策略运行在某个或某几个工作节点上;所述LBAgent组件通过DaemonSet的方式运行在所有工作节点及管理节点上。
3.根据权利要求1所述的一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法,其特征在于:步骤S2中,所述LBController组件的运行步骤为:
a1、所述LBController组件连接kube-apiserver,并根据所述yaml或json配置文件生成IP池,以供LoadBalancer类型Service使用,所述LBController组件对LoadBalancer类型的Service及Endpoints的信息进行缓存;
a2、所述LBController组件采用Watch接口监听LoadBalancer类型的Service及Endpoints的信息,LoadBalancer类型的Service及Endpoints出现信息变化时,所述LBController组件对所述IP池、所述LBAnnouncer组件及所述LBAgent组件进行操作。
4.根据权利要求3所述的一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法,其特征在于:在步骤a2中,当生成新的LoadBalancer类型的Service时,所述LBController 组件从yaml或json配置文件中或所述IP池中获取可用的IP,以分配给生成新的LoadBalancer类型的Service;如所分配的IP出现冲突或无可分配的IP时,生成新的LoadBalancer类型的Service进行报错;
当删除LoadBalancer类型的Service时,所述LBController组件能够将被删除LoadBalancer类型的Service的IP还回所述IP池中;
当更新LoadBalancer类型的Service后,如LoadBalancer类型的Service IP产生变化,且LoadBalancer类型的Service IP不出现冲突时,所述LBController为更新后的LoadBalancer类型的Service分配IP,如LoadBalancer类型的Service IP冲突时,更新后的LoadBalancer类型的Service报错。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国—东盟信息港股份有限公司,未经中国—东盟信息港股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010208970.6/1.html,转载请声明来源钻瓜专利网。





