一、背景介绍
外部硬件负载均衡作为容器业务统一入口的架构模式已在我行运行3年之久,通过长时间的容器云平台使用经验与负载均衡运维经验积累,在我行容器云环境形成一套特有的负载均衡适配模型,现部署模式下实现了应用上线人员以自服务的形式将容器服务对外暴露。根据2022年1月银保监会办发[2022]2号中关于科技能力建设的指导意见,坚持关键技术自主可控原则,降低外部依赖、避免单一依赖。为配合推进指导意见,同时考虑到容器云平台适配再开发成本,网络架构模型的改造成本,信创负载均衡选型便基于现模型进行。
二、环境介绍
1、网络部署模型如下:
我行现有容器云集群规模较小,一组主、备部署的负载均衡设备与SND border组建EBGP邻居,在负载均衡的configmap yaml文件中加入路由宣告的配置,将负载均衡的VIP以BGP动态路由形式宣告至border,border接收的路由VIP路由条目下一跳自动会被置为负载均衡的floating IP,设备主备切换时宣告的下一跳不会变更,消除了路由收敛带来的影响。同时,容器云集群pod ip通过calico BGP对外宣告,满足全网可达条件。负载均衡设备默认不接收pod ip等BGP邻居宣告的外部路由,通过将默认路由指向border寻址pod ip,减少应用负载均衡在非“本职”能力上的性能消耗。
负载均衡侧BGP配置:
access-list int-ipv4 permit 10.x.x.x/16
!
ipv6 access-list int-ipv6 permit fdx:x:x:x::/64
!
router bgp 6x
bgp router-id 10.x.x.x
bgp graceful-restart restart-time 120
redistribute kernel route-map int-ipv4
neighbor 10.x.x.x remote-as 6x
neighbor 10.x.x.x remote-as 6x
neighbor 10.x.x.x ebgp-multihop 2
neighbor 10.x.x.x next-hop-self
neighbor 10.x.x.x remote-as 6x
neighbor 10.x.x.x ebgp-multihop x
neighbor 10.x.x.x next-hop-self
neighbor fdxx:x:x:x::x remote-as 6x
neighbor fdxx:x:x:x::x remote-as 6x
neighbor fdxx:x:x:x::x ebgp-multihop x
neighbor fdxx:x:x:x::x next-hop-self
neighbor fdxx:x:x:x::x remote-as 6x
neighbor fdxx:x:x:x::x ebgp-multihop x
neighbor fdxx:x:x:x::x next-hop-self
!
address