Calico官网提供了两种网络设计模式:

  • AS per rack: 每个rack(机架)组成一个AS,每个rack的TOR交换机与核心交换机组成一个AS
  • AS per server: 每个node做为一个AS,TOR交换机组成一个transit AS

每个TOR分为四个交换机,每个node与每个交换机都有连接。通过颜色区分每一个平面。

在Kubernetes平台中,使用calico brid生成的路由条目与endpoint相关,会对路由分配网段,这样可以减少路由条目数量,但不会改变路由数量级。当集群规模过大,endpoints与对应的路由条目也会随之增加,此时就需要可以处理一定量级路由的网络设备。无论使用那种网络模式,始终都会有一个网络设备上要存放calico网络拓扑中的所有路由。所以在使用calico网络时,需要确定网络处理能力,此时使用单独node或master代替bgp反射器不是很恰当了。

实验:完成基于AS per rack的网络设计

实验完成:

  • 每一个rack分配一个AS号,node与TOR之间是ibgp,TOR之间是ebgp
  • node只与TOR建立BGP连接关系,TOR与rack上的所有node建立BGP连接
  • 所有TOR之间以node-to-node mesh方式建立BGP连接

实验目标:将Node的BGP压力转移到了TOR之上。随着rack的增加,还可以使用Spine承担TOR的压力

联通vmvare与eNSP

选择"其他设备" 并添加"Cloud"到eNSP, 并设置对应接口

完成TOR拓扑

这里AR1 AR2 为TOR Cloud的对端为vmvare adpter,连接的是多个虚拟机,因为使用交换机相连,从概念上完成了一个简易的AS per rack

配置交换机

system-view
sysname SW1
vlan batch 10 20 30interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20 30

配置TOR及OSPF

system-view
sysname R1interface GigabitEthernet0/0/0
ip address 10.0.0.253 24
dis this
quitinterface l0
ip address 1.1.1.1 32
quit
ospf router-id 1.1.1.1
area 0
network 1.1.1.1 0.0.0.0
network 10.0.0.253 0.0.0.0
dis thissystem-view
sysname R2interface GigabitEthernet0/0/0
ip address 10.0.0.254 24
dis this
quitinterface l0
ip address 2.2.2.2 32
quit
ospf router-id 2.2.2.2
area 0
network 2.2.2.2 0.0.0.0
network 10.0.0.254 0.0.0.0
dis this

配置TOR间的EBGP

bgp 64512
router-id 10.0.0.253
peer 10.0.0.254 as-number 63400bgp 63400
router-id 10.0.0.254
peer 10.0.0.253 as-number 64512

配置node与tor的bgp实体

bgp 64512
router-id 10.0.0.253
peer 10.0.0.5 as-number 64512
peer 10.0.0.5 reflect-client
dis ip interface briefbgp 63400
router-id 10.0.0.254
peer 10.0.0.6 as-number 63400
peer 10.0.0.6 reflect-client
dis ip interface brief

配置calico与TOR间BGP关系

配置calico bgp rr需要用到 BGPConfiguration BGPPeer Node 对应的资源清单的配置

配置全局asNumber

apiVersion: projectcalico.org/v3
kind: BGPConfiguration
metadata:name: default
spec:logSeverityScreen: InfonodeToNodeMeshEnabled: falseasNumber: 64512

配置bgp peer

注意bgp对等体作用域范围,也可以理解为使用

node specific: 生效与特定节点
globe: 全局配置,使用该配置时不能配置nodenodeSelector字段,这个配置将集群中所有的节点都建立bgp关系
node-to-node mesh:全互联模式

apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:name: default-64512
spec:node: master01 # 指定bgppeer生效范围,默认为全局模式peerIP: 10.0.0.253 # bgp对等体的IPasNumber: 64512
---
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:name: default-63400
spec:node: node02peerIP: 10.0.0.254asNumber: 63400

此时可以看到node与tor间形成了对应的bgp rr

[root@node02 ~]# calicoctl node status
Calico process is running.IPv4 BGP status
+--------------+---------------+-------+----------+-------------+
| PEER ADDRESS |   PEER TYPE   | STATE |  SINCE   |    INFO     |
+--------------+---------------+-------+----------+-------------+
| 10.0.0.254   | node specific | up    | 14:34:30 | Established |
+--------------+---------------+-------+----------+-------------+[root@master01 ~]# calicoctl node status
Calico process is running.IPv4 BGP status
+--------------+---------------+-------+----------+-------------+
| PEER ADDRESS |   PEER TYPE   | STATE |  SINCE   |    INFO     |
+--------------+---------------+-------+----------+-------------+
| 10.0.0.253   | node specific | up    | 01:29:08 | Established |
+--------------+---------------+-------+----------+-------------

对应的tor中也学习到相应的pod间的路由条目,而TOR只与自己建立bgp rr的node的路由进行学习,其他Node的Pod间路由,由tor之间的EBGP进行学习到的。

[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 11       Routes : 11       Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface1.1.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack02.2.2.2/32  OSPF    10   1           D   10.0.0.254      GigabitEthernet0/0/010.0.0.0/24  Direct  0    0           D   10.0.0.253      GigabitEthernet0/0/010.0.0.253/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/010.0.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/010.244.140.64/26  EBGP    255  0           D   10.0.0.6        GigabitEthernet0/0/010.244.241.64/26  IBGP    255  0          RD   10.0.0.5        GigabitEthernet0/0/0127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

对应的文件

eNSP拓扑

calico官网网络拓扑实现:基于eNSP与VMVare相关推荐

  1. Matlab 预防性维修,MATLAB进行预测性维护(官网例程)-基于相似性进行剩余有效寿命预测 – MATLAB中文论坛...

    本帖最后由 zwlbeyond 于 2020-5-19 14:30 编辑 数据集使用了PHM08挑战数据集,是涡轮风扇发动机退化模拟数据集. 训练数据包含218个运行到故障模拟.这组测量被称为&quo ...

  2. Flink官网实例:基于DataStream API 实现欺诈检测,完整实现

    1.官方文档 https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/try-flink/datastream_api.html ...

  3. (php毕业设计)基于php汽车销售官网管理系统源码

    基于php汽车销售官网管理系统 汽车销售官网管理系统是基于php编程语言和mysql数据库开发,BS架构系统.本系统分为游客和管理员两个角色,游客可以查看汽车网站的车型,车辆分类,在线新闻,在线预定车 ...

  4. Everything官网下载

    基于名称快速定位文件和文件夹Everything官方下载 简单说明 地址 简单说明 Everything是voidtools开发的一款文件搜索工具,官网描述为"基于名称实时定位文件和目录(L ...

  5. 基于django和vue的xdh官网设计

    前言 本项目是使用三段分离的设计 前台 使用materialize框架搭建的前台页面,后端使用的django写的接口 后台 使用Amazon UI 模板搭建的界面,管理各个部分的内容 项目环境 pyt ...

  6. 开发企业官网就用这个基于SpringBoot的CMS系统,真香

    前言 推荐这个项目是因为使用手册部署手册非常完善,项目也有开发教程视频对小白非常贴心,接私活可以直接拿去二开非常舒服. 开源说明 系统100%开源 模块化开发模式,铭飞所开发的模块都发布到了maven ...

  7. 黑苹果详细安装教程-基于OpenCore官网指导-UPUPMO(macOS Monterey)

    文章大纲 01. 必备知识 02. 作者当前硬件说明 03. 主板 BIOS 版本升级 04. 确定声卡.网卡信息 05. 配置 EFI 驱动 06. 配置 ACPI(SSDTs) 07. 配置 co ...

  8. 基于svg绘制北京地铁图(官网数据来源)

    北京地铁图 北京地铁图,基于svg开发,支持PC.移动端多种浏览器. 线上开源地址 https://github.com/StavinLi/beiJingSubway 点个赞吧! 项目介绍 技术点 1 ...

  9. 基于SpringBoot 的CMS系统,大家可以拿去开发企业官网

    推荐这个项目是因为使用手册部署手册非常完善,项目也有开发教程视频对小白非常贴心,接私活可以直接拿去二开非常舒服 开源说明 系统100%开源 模块化开发模式,铭飞所开发的模块都发布到了maven中央库. ...

最新文章

  1. ionic4中实现时间线
  2. [LeetCode][Java] 3Sum Closest
  3. 1.3 用神经网络进行监督学习-深度学习-Stanford吴恩达教授
  4. Xcode6中如何对scrollview进行自动布局(autolayout)
  5. wireshark tcp抓包分析_网络分析系列之八_使用Wireshark抓包
  6. SAP JCo的Server/Client编程实例
  7. main函数参数解析
  8. objective-c和java哪个简单_Objective-C和Java的简单对比
  9. 计算机组成原理(第3版)唐朔飞著 知识点总结 第五章输入输出系统
  10. 开发流程与管理--《10人以下小团队管理手册》读后有感
  11. 资源(电影、英剧、美剧、日剧、动漫、纪录片)网站
  12. 62_LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks 2019 论文笔记
  13. css border实现图形
  14. 设计模式——抽象工厂 Java源代码
  15. 实现HTTP2.0方式
  16. java版红石电路修改_我的世界红石数模互换电路【红石小课堂】
  17. 一般的计算机辐射有危害吗,电脑辐射有什么危害怎么防止 电脑辐射的范围是多少...
  18. 图解数据分析:从入门到精通系列教程
  19. revit服务器系统,revit云协同设置服务器
  20. 无线发射器c语言程序代码,单片机编码 无线模块发送与接收 程序

热门文章

  1. 炒股入门基础知识之炒股入门?炒股入门股票基础知识该掌握哪些
  2. HOG Matlab代码
  3. 【面经】海康威视【2022届超新星】应用软件开发工程师-C\C++实习生校招面经-已gg
  4. 掘金翻译计划招募志愿者啦
  5. mysql 后十条_MySQL十条特殊技巧
  6. 华为荣耀更新后为什么没有计算机,荣耀7x为什么用华为助手联不上电脑?
  7. CNKI E-Study系统崩溃问题:
  8. 【Python】【Tkinter】png转ico小工具源码以及打包exe
  9. dumi 2,它来了它来了它来了
  10. svg+js走路吹泡泡动画js特效代码