calico官網網絡拓撲實現:基於eNSP與VMVare


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拓撲


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM