暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Cisco Nexus L2 Switch 进行 vPC 和 L3 改造以支持 K8S 部署

Qunar技术沙龙 2022-03-10
1653

作者简介

冯亚伟,去哪儿网 NETOPS,2014 年 7 月加入去哪儿网,拥有丰富的网络运维经验,现负责公司 IDC 和骨干传输网络的运维工作。

1、背景及改造方案介绍

1.1  Qunar K8S 网络简介

K8S网络说明:

  • 接入交换机与 K8S NODE 运行 IBGP,K8S NODE 将 POD 网段的路由通过 BGP 通告给接入交换机;

  • 接入交换机与核心交换机之间运行 EBGP,RACK 将各自学到的 POD 网段的路由通过 BGP 通告给核心交换机;

  • 核心交换机上通过路由策略只给每台接入交换机通告缺省路由。

1.2  Cisco Nexus VPC 简介

VPC 是 Virtual Port-channel(虚拟端口聚合)的缩写,VPC 可以让两台交换机上接口形成聚合端口,在聚合端口的对端设备看来,这两台交换机是一台设备。

VPC具有以下好处:

  • 将两台交换机在 L2 接口层面虚拟化为一台,消除了 L2 互联的 STP 环路,提高了网络的稳定性;

  • VPC 与 HSRP 相结合,使参与 HSRP 的两台交换机都能对以 HSRP VIP 作为网关的数据包进行三层转发,增加了上行接口的出向带宽及带宽使用率;

  • 参与 VPC 的两台交换机在控制层面,L3 层面上仍然是独立的,可以更加方便的进行系统维护和路由操作。

1.3  为什么要进行 VPC 改造以实现二三层网络混合部署

  • 原有的 L2 接入交换机不能与 K8S NODE 服务器运行BGP;

  • VPC + HSRP 使参与 HSRP 的两台交换机都能对以 HSRP VIP 作为网关的数据包进行三层转发,增加了上行接口的出向带宽及带宽使用率;

  • 使 L2 接入接入网络逐步向 L3 接入网络过渡,L3 网络稳定性优于 L2 网络,过渡完成后使 IDC 网络更加稳定;

  • 改造完成后使现有机柜可以进行 K8S 服务器部署,减少新开机柜的数量,节省机房运营成本。

1.4  改造前后网络结构的变化

改造之前:

  • 改造之前接入交换机1和接入交换机2作为两台独立的 L2接入交换机分别通过 L2 port-channel 上联到一组VPC 核心交换机上;

  • 接入交换机1和接入交换机2作为一组接入为 Server 提供双上联接入,Server 通过 bond 双上联到两台 L2接入交换机。

  • Server 的网关在核心交换机上。

改造之后:

  • 两台独立的 L2 接入交换机改造为一组 VPC;

  • 在两台接入与两台核心之间增加 L3 互联,建立 EBGP 邻居;

  •  K8S 服务器的网关在接入交换机上, K8S 服务器分别与两台接入交换机建立 IBGP 邻居。

1.5  改造的思路

  • 切走需要进行改造的交换机的流量;

  • 对没有流量的交换机进行 VPC 配置,然后重启交换机,利用VPC 的 auto-recovery 特性使 VPC 生效;

  • 将服务器流量切换到改造后的交换机上;

  • 然后对另一台交换机进行 VPC 配置,连接两台接入交换机之间的 VPC Peer-link 接口,VPC 正常建立;

  • 增加接入交换机与核心交换机之间的 L3 互联,并配置 BGP;

  • 在接入交换机上配置服务器的 vlan interface 以及与服务器之间的BGP配置。

2、具体的改造步骤

2.1  规划两台 L2 接入交换机的 VPC 主备角色

可以通过配置优先级控制 VPC 主备角色分配。

2.2  维护规划的 VPC 主交换机

切走交换机下联服务器的流量,然后在核心交换机上关闭其上联口。

2.3  关闭主交换机上连接服务器的接口

此操作的目的是为了防止维护过程中服务器bond接口意外切回。

提前记录UP的接口信息,在交换机完成重启接口恢复之后进行比对,检查是否有接口没有恢复。

2.4  配置主交换机的 VPC

此时不需要连接 vpc peer-link线路,并且在配置 vpc peer-link 接口后使其保持 shutdown 状态。

    **Rack1
    feature vpc

    vpc domain XX
    peer-switch
    role priority 4096
    peer-keepalive destination x.x.x.x source y.y.y.y
    delay restore 150
    auto-recovery
    ip arp synchronize

    interface port-channel4002
    switchport
    switchport mode trunk
    spanning-tree port type network
    vpc peer-link

    interface Ethernet1/51
    switchport
    switchport mode trunk
    channel-group 4002 mode active
    shutdown

    interface Ethernet1/52
    switchport
    switchport mode trunk
    channel-group 4002 mode active
    shutdown

    2.5  保存配置,重启主交换机

    交换机重启之后,VPC 生效;

    • Delay-restroe SVI status 计时器开始倒计时,时间为 10s;

    • Delay-restroe SVI status 倒计时结束后,Delay-restore status 计时器开始倒计时,时间为 150s;

    • Delay-restore status 倒计时结束后,Auto-recovery status 计时器开始倒计时,时间为 240s;

    在经过三个计时器共 400s 后,VPC 进入 Primary 状态。

    2.6  配置上联口 port-channel 的 VPC ID,打开核心交换机上的上联口(STP抖动一次)

      **Rack1
      conf t
      interface port-channel1
      vpc 1
      switchport trunk allowed vlan except xx

      **core[1-2]
      conf t
      interface port-channel9
      switchport trunk allowed vlan except xx
      #检查接口下的 trunk allowed vlan 配置
      #打开接口:
      **core[1-2]
      conf t
      interface Ethernet1/9
      no shutdown
      #检查Rack1的 port-channel和vpc 1状态,检查STP
      • 上联口 Port-channel1 VPC ID 1 状态正常

      2.7  将服务器流量切回 VPC 主交换机

      VPC 主交换机L2连接恢复正常后,打开连接服务器的接口,检查重启前后UP的接口是否一致,然后将服务器流量从备交换机切换到主交换机。

      2.8  在核心交换机上关闭备交换机的上联口

      2.9  备交换机配置VPC

      需要在备交换机上联口 port-channel 中配置与主交换机上联 port-channel 相同的 VPC ID ,防止 VPC 一致性检查不一致而影响主交换机上联口 port-channel 的状态。

        **Rack2
        feature vpc

        vpc domain XX
        peer-switch
        peer-keepalive destination y.y.y.y source x.x.x.x
        delay restore 150
        auto-recovery
        ip arp synchronize

        interface port-channel4002
        switchport
        switchport mode trunk
        spanning-tree port type network
        vpc peer-link

        interface Ethernet1/51
        switchport
        switchport mode trunk
        channel-group 4002 mode active
        no shutdown

        interface Ethernet1/52
        switchport
        switchport mode trunk
        channel-group 4002 mode active
        no shutdown

        interface port-channel1
        vpc 1
        switchport trunk allowed vlan except xx
        • VPC 用管理口 IP 作为 keep-alive 地址,因为管理地址互通,所以 vPC keep-alive status 为 “peer is alive”:

        • 由于 peer-link 线路没有连接,所以 Peer status 为 “peer link is down”,vPC role 为 “none established”

        2.10  连接 peer-link,然后打开接口(STP抖动一次)

        • 打开 VPC peer-link 后主交换机 vpc role 为“primary”。

        • 备交换机 vpc role 为 “secondary”。

        • 备交换机在经过之前所述的计时器时间 400s 后,进入正常状态,Rack1 与 Rack2 之间的 VPC 正常建立

        2.11  在核心交换机上将连接 Rack2 的接口加入到连接 Rack1 的 Port-channel 中

        • Rack1&Rack2 与 core1&core2 通过 1 个 L2 Port-channel 进行互联。

          **core[1-2]
          conf t
          interface Ethernet1/35
          switchport trunk allowed vlan except xx
            channel-group 9 mode active       # channel group 9 是主交换机的上联口的channel group ID,这样修改以后主备交换机就上联到同一个VPC了

          2.12  打开备交换机的上联口,VPC 改造完成

          2.13  增加接入交换机与核心交换机之间的 L3 互联及 EBGP 配置

          2.14  增加接入交换机与 K8S 服务器的 IBGP 配置

          3、总结与注意事项

          • 在改造时,多组接入交换机之间要避免 VPC Domain ID 冲突,要进行规划记录;

          • 在改造过程中 L2 网络会经历两次生成树抖动;

          • 在改造之前两台接入交换机上联到核心交换机的两个不同的 Port-channel,在改造之后两台接入交换机上联到核心交换机的同一个 Port-channel 中;

          • 第一台接入交换机在配置 VPC 以后,VPC 不会生效,需要利用 VPC auto-recovery 特性,重启交换机,VPC 才会生效。

          THE

          END


          文章转载自Qunar技术沙龙,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论