Cisco Nexus L2 Switch 进行 vPC 和 L3 改造以支持 K8S 部署
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 状态。
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 抖动一次)
上联口 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 的状态。
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 进行互联。
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 才会生效。
End
版权声明: 本文为 InfoQ 作者【Qunar技术沙龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/29d5d97532cb8c7d5076bee17】。文章转载请联系作者。
评论