腾讯云TKE-基于 Cilium 统一混合云容器网络
-
腾讯混合云采用基于 GoBGP 实现 Cilium 的 Underlay 方案,该方案基于 GoBGP 提供的良好的编程接口实现了自己的 BGP Agent,具备很好的可扩展性。其特点如下:
支持大规模集群的扩展;支持 BGP 邻居发现;支持网络可视化;支持 VIP 和 PodCIDR 路由宣告;支持 ECMP 等高级路由协议;实现 Cilium native-routing 功能;支持 L3 层网络通信。在不改变 IDC 机房内部网络拓扑的情况下,接入层交换机和核心层交换机建立 BGP 连接,借助于机房内部已有的路由策略实现。针对 Node 所处的物理位置分配 PodCIDR,每个节点将 PodCIDR 通过 BGP 协议宣告给接入层交换机,实现全网通信的能力。
在 BGP 实现的集群网络中,经常存在节点新增和删除的情形,如果采用静态配置对等体的方式,需要频繁的操作交换机进行对等体增删的操作,维护工作量很大,不利于集群的横向扩展。为了避免手动对交换机进行操作,我们支持基于配置接入层交换机和软件层面实现的路由反射器这两种模式来动态发现 BGP 邻居。
通过接入层交换机实现动态邻居发现:接入层交换机充当边界路由器,并开启 Dynamic Neighbors 功能,H3C、Cisco以及华为的路由器具体开启 Dynamic Neighbors 配置请参考官方文档。Node上的 BGP 服务主动与接入层交换机建立 iBGP 连接,并宣告本地路由,接入层交换机将学习到的路由宣告给整个数据机房内部。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏