metallb bgp模式

371 阅读1分钟

引言

最近有个客户环境使用metallb l2 模式压力已经很大了,所以整理了下目前 metallb bgp 模式

metallb bgp 模式

bgp 官方文档

metallb.universe.tf/concepts/bg…

目前官方推荐了三种bgp模式:

native: native 是metallb 自己实现的bgp协议 BGP 部署,包括bgp协议报文的封装都是由自己实现。

frr:是使用第三方工具frr 实现bgp协议

k8s-frr: 是在最新版本 0.14.3 中 推出的。和FRR模式相比,在运行 FRR-K8s 模式时,MetalLB 生成 FRR-K8s 的配置,然后调用FRR的API去配置FRR, 而不是直接配置 FRR,目前是实验性质的。

native 和 frr 模式的选型

  1. native 模式不支持 BFD,故障切换肯定就没有frr 灵敏
  2. FRR 自带了cli面板,debug更加方便。
  3. 理论上FRR 性能应该更优
  4. 测试中发现个更神奇的事情,native 模式下删除bgpeer后, 对端bgp 的session竟然还在。不知道是bug还是什么。
  5. 社区的推广情况看起来是以frr为主,不然也不会出k8s-frr。

所以结论是,优先选择FRR模式,不过社区提出FRR有一些限制:

  • BGPAdvertisement 不能有具有不同 RouterID。
  • BGPAdvertisement 不能有不同的 myAsn)。
  • 如果 eBGP peer 与节点相距多个跃点,则必须设置 ebgp-multihop 标志 为真。

metallb.universe.tf/concepts/bg…