ToB企服应用市场:ToB评测及商务社交产业平台
标题:
干货收藏!Calico的BGP RouteReflector策略实践
[打印本页]
作者:
半亩花草
时间:
2024-5-29 15:52
标题:
干货收藏!Calico的BGP RouteReflector策略实践
本文分享自华为云社区《
Calico BGP RouteReflector策略实践
》,作者:可以交个朋友。
一 配景
容器网络组件Calico支持多种后端模式,有Overlay的IPIP、Vxlan模式,也有Underlay纯路由的BGP模式。
相比于Overlay网络模型,Underlay网络具有更高的数据面转发性能。同时在纯路由模式下,也有两种方案:Calico BGP的fullmesh方案,该方案存在一些限制,适用于小规模kubernetes集群,集群节点越多,BGP毗连就越多,需要建立大量毗连来保证网络的互通性,每增长一个节点就要成倍的增长毗连保证网络的互通性,这样的话就会利用大量的网络斲丧。所以这时就可以利用Route Reflector模式,也称为RR模式。RR模式 中会指定一个或多个BGP Speaker为RouterReflecor,它与网络中其他Speaker建立毗连,每个Speaker只要与Router Reflector建立BGP就可以得到全网的路由信息。
二 Calico BGP RouteReflector模式组网架构
在不改变IDC机房内部网络拓扑的情况下,接入层交换机和焦点层交换机建立BGP毗连,借助于机房内部已有的路由策略实现,针对Node所处的物理位置分配Pod CIDR,并在每个节点上将Pod CIDR通过BGP协议宣告给接入层交换机,实现全网通信的能力。下图基于Leaf-Spine架构做详细说明。
组网原则:
每个接入层交换机与其管理的Node二层联通,共同构成一个AS。每个节点上跑BGP服务,用于宣告本节点路由信息。
焦点层交换机和接入层交换机之间的每个路由器单独占用一个AS,物理直连,跑BGP协议。焦点层交换机可以感知到全网的路由信息,接入层交换机可以感知与自己直连的Node上的路由信息。
同一个主机上的pod互访通过宿主机路由器。(将linux主机当成一个路由器)
同一个机架上差别node上的pod通信通过TOR(leaf)交换机
差别机架上pod通信走焦点交换机
三 模拟生产场景组网搭建情况
提前准备一台Ubuntu2204操作体系的机器(规格8U16G即可)。需要在假造机上安装如下软件工具:
Docker
go开发情况
Kind(kubernetes爱好小组开发的一款kuberntes in docker软件,可用来快速搭建k8s测试情况,kind安装需要主机上先安装go,kind安装版本可选v0.20.0版本)
ContainerLab(利用容器技能构建的假造网络平台,可以利用vyos镜像构建假造的交换机路由器。建议安装v0.42.0版本的containerlab)
3.1 kubernetes 情况搭建
kubernetes集群版本为: 1.27.3
集群规模为1 master,3 work node
集群构建脚本如下:
1-setup-env.sh
[code]#!/bin/bashdateset -v# 1.prep noCNI envcat
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4