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 30 interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30 interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20 30

配置TOR及OSPF

system-view
sysname R1 interface GigabitEthernet0/0/0
ip address 10.0.0.253 24
dis this
quit interface 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 this system-view
sysname R2 interface GigabitEthernet0/0/0
ip address 10.0.0.254 24
dis this
quit interface 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 63400 bgp 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 brief bgp 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: Info
nodeToNodeMeshEnabled: false
asNumber: 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对等体的IP
asNumber: 64512
---
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
name: default-63400
spec:
node: node02
peerIP: 10.0.0.254
asNumber: 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: Public
Destinations : 11 Routes : 11 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
2.2.2.2/32 OSPF 10 1 D 10.0.0.254 GigabitEthernet0/0/0
10.0.0.0/24 Direct 0 0 D 10.0.0.253 GigabitEthernet0/0/0
10.0.0.253/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.0.0.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.244.140.64/26 EBGP 255 0 D 10.0.0.6 GigabitEthernet0/0/0
10.244.241.64/26 IBGP 255 0 RD 10.0.0.5 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.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. Windows Azure HandBook (7) 基于Azure Web App的企业官网改造

    <Windows Azure Platform 系列文章目录> 1.用户场景: C公司是全球大型跨国连锁餐厅,在世界上大约拥有3万间分店.其IT系统主要部署其海外数据中心,或者租用其他ID ...

  2. 发布基于Orchard Core的友浩达科技官网

    2018.9.25 日深圳市友浩达科技有限公司发布基于Orchard Core开发的官网 http://www.weyhd.com/. 本篇文章为你介绍如何基于Orchard Core开发一个公司网站 ...

  3. 基于jQuery仿迅雷影音官网幻灯片特效

    分享一款基于jQuery仿迅雷影音官网幻灯片特效迅.雷影音官网jQuery幻灯片特效是一款带左右箭头,索引按钮切换的jQuery幻灯片代码.效果图如下: 在线预览   源码下载 实现的代码. html ...

  4. 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...

  5. 基于 Azure IaaS 搭建企业官网的规划和实践

    本课程主要介绍了基于 Azure IaaS 搭建企业官网的案例分析和实践,实践讲解如何使用 Azure 门户创建虚拟机, 创建虚拟网络, 创建存储账户等. 具体包括项目背景介绍, 项目架构, 准备和实 ...

  6. [干货]Chloe官网及基于NFine的后台源码毫无保留开放

    扯淡 经过不少日夜的赶工,Chloe 的官网于上周正式上线.上篇博客中LZ说过要将官网以及后台源码都会开放出来,为了尽快兑现我说过的话,趁周末,我稍微整理了一下项目的源码,就今儿毫无保留的开放给大家, ...

  7. 基于JWT的无状态分布式授权【本文摘自智车芯官网】

    简介 JWT是一种用于HTTP交互双方之间传递安全信息的简洁的.安全的表述性声明规范.JWT作为一个开发的标准,它定义了一种简洁的,自包含的方法用于通信双发之间以JSON形式安全传递.且因为数字证书的 ...

  8. demo 基于html css 实现小米官网部分内容搭建

    文件夹目录 mi-site-----------主文件夹 css------------css文件文件夹 fonts.css---矢量图标css index.css---主页面样式css reset. ...

  9. 基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)

    文章背景: dcloud官网给出的打包步骤对于有一定安卓打包基础的同学来说比较容易掌握,但是对于webapp小白来讲有的地方可能没有说的太具体.下面我给大家介绍的详细一点,保证大家按照步骤就能学会打包 ...

随机推荐

  1. 前端学习 node 快速入门 系列 —— 报名系统 - [express]

    其他章节请看: 前端学习 node 快速入门 系列 报名系统 - [express] 最简单的报名系统: 只有两个页面 人员信息列表页:展示已报名的人员信息列表.里面有一个报名按钮,点击按钮则会跳转到 ...

  2. 配置Java环境变量时的一个常见错误

    我们在把JDK路径配置为环境变量时,有一个常用的配置方法,就是把JDK根路径配置为"JAVA_HOME"值,然后在Path中添加一条"%JAVA_HOME%\bin&qu ...

  3. Software

    Software is a bridge, acorss people, the links, and knowledge. 并非单一的产品,而是整个行业.

  4. DAOS 分布式异步对象存储|相关组件

    DAOS 的安装涉及多个组件,这些组件可以是集中式的,也可以是分布式的. DAOS 软件定义存储 (software-defined storage, SDS) 框架依赖于两种不同的通信通道: 用于带 ...

  5. Web协议详解与抓包实战,高效解决网络难题

    无论你是前后端工程师,还是运维测试,如果想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速.高效地解决问题,Web 协议一定是你绕不过去的一道坎. 旨在帮助你对各种常用 W ...

  6. Java内置内存分析

    Java内存分析 package com.chao.reflection; public class Test05 { public static void main(String[] args) { ...

  7. JavaWeb 补充(Json)

    HTML DOM alert() 方法 定义和用法 alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框. 参数 描述 message 要在 window 上弹出的对话框中显示的纯文 ...

  8. 0ctf_2017_babyheap

    0ctf_2017_babyheap 首先检查一下保护 IDA 分析好的代码如下 首先申请了一块内存地址用来存放结构体数组,地址随机. 堆题常见的几个功能.我们来看看add 这里申请内存用的是call ...

  9. 手写Spring AOP,快来瞧一瞧看一看撒!

    目录 AOP分析 Advice实现 定义Advice接口 定义前置.后置.环绕和异常增强接口 Pointcut实现 定义PointCut接口 定义正则表达式的实现类:RegExpressionPoin ...

  10. 算法图解...pdf

    电子书资源:算法图解 书籍简介   本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量.书中的前三章将帮助你打下基础,带你学习二分查找.大O表示法. ...