查看原文
其他

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

冯亚伟 Qunar技术沙龙 2023-04-08

作者简介

冯亚伟,去哪儿网 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 状态。

**Rack1feature 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抖动一次)

**Rack1conf tinterface port-channel1 vpc 1 switchport trunk allowed vlan except xx **core[1-2]conf tinterface port-channel9 switchport trunk allowed vlan except xx#检查接口下的 trunk allowed vlan 配置#打开接口:**core[1-2]conf tinterface 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 的状态。

**Rack2feature 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 tinterface 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


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存