论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
容器及微服务
›
容器及微服务
›
干货收藏!Calico的BGP RouteReflector策略实践 ...
干货收藏!Calico的BGP RouteReflector策略实践
半亩花草
金牌会员
|
2024-5-29 15:52:10
|
显示全部楼层
|
阅读模式
楼主
主题
650
|
帖子
650
|
积分
1950
本文分享自华为云社区《
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
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
半亩花草
金牌会员
这个人很懒什么都没写!
楼主热帖
【Redis】BigKey问题
本周涨粉一倍,我决定再开源一个商超管 ...
经典Python题目:一个列表或者数组去重 ...
安装Python
.net6下[WPF+yolov5+opencvsharp]
Spring简介-IOC
Spring Boot 宣布移除 run 命令,真让 ...
YOLOV5 代码复现以及搭载服务器运行 ...
go-zero插件goctl-swagger的坑
C++初探索
标签云
挺好的
服务器
快速回复
返回顶部
返回列表