上回说到NSX-T manager的安装,成功导入ova文件以后,我们在vCenter上面可以看到NSX manager的虚机。 开机后,使用
便可以登录到管理界面了。
查看Manager实例
导航到System–>Appliance,可以看到现在运行的控制节点实例,系统建议使用三台实例做成集群,实验中,我们只使用一台。
云网解耦物理网
先不急着往下,我们看看在基于软件的SDN最初是要解决什么问题,下图是在很多企业至今使用的架构
物理服务器已经虚拟化,企业大量使用虚机。为了解决服务器内部虚机的联网,使用了vss或vDS虚拟交换机。
但是,虚机的网关还是在物理交换机上,云内网络和物理网络是紧耦合关系。
硬件网络SDN出现以后,可以通过controller与vCenter的API沟通来获取和配置vDS。因为不是直接获取云网的信息,这样做的复杂性很高收益很小,对云网中的网络构建、维护等并没有什么优势,更不用说自动化、敏捷以及对容器的支持。
NSX-T 将全面接管虚拟云网,将虚拟网关下移到云网内部,实现云网和物理网的完全解耦。
但是,云网无论如何还在需要物理网络来承载,物理网络以及由了一套完善的技术堆栈。要想与其完全解耦,采用Overlay的方式是比较好的选择。
在Overlay的方式上,NSX-T选择了GENEVE。
Geneve(Generic Network Virtualization Encapsulation,RFC Draft)是NVo3工作组对VxLAN、NvGRE和STT进行总结后提出的一种网络虚拟化技术,希望形成一种通用的封装格式,以便支持数据中心中隧道机制的后续演化。
Geneve封装的是以太网帧,外层的报头可以为IPv4也可以为IPv6。UDP Src Port常通过哈希获得,可用于ECMP;Dst Port为IANA分配给Geneve的6081。对于UDP Checksum,Geneve与VxLAN的处理办法相同,并建议使用NIC去做卸载。
Geneve Header中的O位为OAM标识,当O位置1的时候,Geneve携带的为控制信令而非Ethernet payload,VNI为24位的租户标识。Geneve Header还提供了TLV格式的Options,以支持后续的功能扩展。
通过NSX作用后,解耦合之后的网络虚拟化拓扑图
NSX-T推送N-VDS或使用vDS(vSphere7+,NSX-T3.0+),构建一个一定物理主机集合范围内的大虚拟交换域,使用Logical Segment替代vlan或portgroup为虚机提供透明二层接入。
Overlay的Vtep点,就存在于每台主机的N-VDS/vDS上。
回到我们的实验。
配置Transport Zones
传输区域确定哪些主机可以参与使用特定的网络,进而确定哪些虚拟机可以参与使用该网络。传输区域限制可以“看到”某个逻辑交换机的主机(从而限制可以连接到该逻辑交换机的虚拟机)以实现该目的。传输区域可以跨一个或多个主机集群。
传输区域可以配置为Overlay和VLAN两种,这样就区分了流量是否通过VTEP点来加GENEVE包头。
另一个需要重点注意的是,由于Overlay需要加包头,所以传统以太包1500字节将超过,一般将涉及的交换机(物理或虚拟)的MTU设置为1600+,在实验中我们设置为8900.
导航到System–>Fabric–>Transport Zones 可以看到系统已经配置了两个默认的传输区域,分别是Overlay和VLAN的。 我们再配置两个以供使用:
绑定vCenter
NSX-T与vSphere配合的环境中,最好绑定vCenter,简化很多操作 System–>Fabric–>Compute Manager
注意:如果需要在vSphere上面开启Tanzu 容器范围,务必要打开Trust和Create Service Account。
主机准备
在这个过程里,我们将在主机上安装逻辑交换机,并将逻辑交换机和传输区域结合起来;同时,控制平面的LCP等组件也会安装到主机。
为VTEP建IP Pool
利用计算集群做主机准备
导航到System–>Fabric–>Nodes
注意:点击Managed by,找到上一个步骤加入的vCenter。
勾选需要作用的主机集群,然后开始CONFIGURE NSX,配置主机准备是使用配置文件的,我们新建一个
Name:按照需要取 可以选择使用N-VDS还是VDS,我们选择VDS,便需要在已经配置好的vCenter选择vDS,此vDS为新建,且已经在主机上分配了出口物理端口。 选择要匹配的Transport Zone,我们选前面配置的tz-overlay
对于上联配置文件,我们新建一个单上联的,这个是和物理端口的分配有关
完成以后回到NSX Installation,点击apply
做好主机准备的ESXi是下图这个样子:
从管理界面是这样的:
对于vSphere环境,架构准备工作完成。
检查主机准备
我们做好了主机准备,整个过程系统是对我们屏蔽了细节的,那么,在ESXi上到底安装了些什么呢?
VIB信息
可以登录到ESXi上面看看(ESXi可以在controller上打开SSH) 使用esxcli software vib list | grep nsx
里面的vib内容如下:
- nsx-adf (自动诊断框架)收集并分析性能数据,以生成对性能问题的本地(主机)和中心(跨数据中心)诊断。
- nsx-mpa 在 NSX Manager 和管理程序主机之间提供通信。
更多详细解释参考: 在 ESXi 管理程序上手动安装 NSX-T Data Center 内核模块
GENEVE 状态
使用net-vdl2 -l命令查看VTEP 和VNI的信息
我们可以看到在ESXi上打开的UPD端口: VXLAN:4789 GENEVE:6081查看VTEP端口信息:esxcfg-vmknic -l
这里可以看到vmk10还是VXLAN 其实这里改成GENEVE比较合适 从NSX-T 2.0以来就没有改过,可能是研发人忘了,毕竟也没啥人看,不影响使用
传输节点-Edge
在上面我们提到了Edge:
- Edge节点:VMware NSX Edge节点是专用于运行无法分发到管理程序的网络服务的服务设备。它们被分组在一个或多个集群中,代表一个能力池。
Edge不是一个干活的实例,它是个池。里面专门用来放虚拟的路由设备T0和T1,有了Edge,NSX-T的路由和服务功能才能实现。
几个注意点:
- 每个 NSX Edge 节点只能具有一个 Tier-0 路由器。不过,可以在一个 NSX Edge 节点上托管多个 Tier-1 逻辑路由器
- Edge Cluster最多包含10个Edge节点(NSX-T 3.0)
- Edge节点可以是虚机或者裸机版本
那T0和T1路由器又是什么呢?
逻辑路由器
Tier-0 逻辑路由器 Tier-0 逻辑路由器提供南北向连接,并连接到物理路由器。可以将其配置为活动-活动或活动-备用集群。Tier-0 网关运行 BGP 并作为物理路由器的对等项。在活动-备用模式下,该网关还可以提供有状态服务。 Tier-1 逻辑路由器 Tier-1 逻辑路由器连接到一个 Tier-0 逻辑路由器,以提供到与其相连的子网的北向连接。它连接到一个或多个覆盖网络,以提供到其子网的南向连接。可以将 Tier-1 逻辑路由器配置为活动-备用集群。
原来,这是NSX-T提供两层次路由设备。 T0提供整体南北出口,而T1必须连接到T0,提供子网的南向连接。
那么,逻辑路由器又是由什么组成的呢?
逻辑路由器由两个组件构成: DR:负责东西向路由转发 SR:负责南北向路由转发和如NAT、LB等有状态的集中服务
逻辑路由器和Edge的关系
正如刚才说的,逻辑路由器存在于Edge中,但是,它也不仅仅是存在于Edge中。
上图给出了逻辑路由器、edge以及主机之间的关系。
- 在首次部署 NSX Edge 时,可以将其视为空容器。在创建逻辑路由器后,NSX Edge 才会执行任何操作。
- NSX Edge 为Tier-0 和 Tier-1 逻辑路由器提供计算支持。每个逻辑路由器包含一个服务路由器 (SR) 和一个分布式路由器 (DR)。
- 在我们谈到路由器是分布式路由器时,是指在属于同一传输区域的所有传输节点上复制该路由器。
- 在上图中,主机传输节点可以包含在 Tier-0 和Tier-1 路由器上包含的同一 DR。
- 如果要配置逻辑路由器以执行服务(如 NAT),则需要使用服务路由器。
- 所有 Tier-0逻辑路由器都具有服务路由器。
- 默认情况下,SR 和 DR 之间的链路使用 169.254.0.0/28 子网。在部署 Tier-0 或 Tier-1 逻辑路由器时,将自动创建这些路由器内中转链路。
- 为 Tier-0 到 Tier-1 的连接分配的默认地址空间为 100.64.0.0/10。将在 100.64.0.0/10 地址空间中为每个 Tier-0 到 Tier-1 的对等连接提供一个 /31 子网。在创建 Tier-1 路由器并将其连接到 Tier-0 路由器时,将自动创建该链路。
在具体使用上存在以下场景:
- 仅仅只有T0路由器的单层结构 这个情况下,逻辑分段直接连接到T0路由器
Routertire | Edge | H/V |
---|---|---|
T0 SR | ‣ | |
T0 DR | ‣ | ‣ |
- T0/T1两层结构,T1不起服务
Routertire | Edge | H/V |
---|---|---|
T0 SR | ‣ | |
T0 DR | ‣ | ‣ |
T1 DR | ‣ | ‣ |
这个拓扑里,进出流量的路径是不一样的。
- T0/T1两层结构,T1起NAT等服务
Routertire | Edge | H/V |
---|---|---|
T0 SR | ‣ | |
T0 DR | ‣ | |
T1 SR | ‣ | |
T1 DR | ‣ | ‣ |
Edge类型
Edge在部署时,可以选择两种类型:
虚拟设备/虚拟机 NSX Edge 在将 NSX Edge 安装为虚拟设备或虚拟机时,将创建名为 fp-ethX 的内部接口,其中 X 为 0、1、2 和 3。将为到 交换机的上行链路和 NSX-T Data Center 覆盖网络隧道分配这些接口。 NSX Edge 将连接到虚拟交换机上,如vSphere环境将连接到VSS/VDS。必须为 NSX Edge 分配至少三个 vmnic:用于 NSX Edge 管理,上行链路和隧道。
裸机 NSX Edge 裸机 NSX Edge 包含名为 fp-ethX 的内部接口,其中 X 最多为 16 个接口。创建的 fp-ethX 接口数取决于裸机 NSX Edge 具有多少个物理网卡。最多可以为到架顶式 (ToR) 交换机和 NSX-T Data Center 覆盖网络隧道的上行链路分配其中的 4 个接口。 我们在实验中选择虚机Edge
部署VM Edge
导航到System–>Fabric–>Nodes–>Edge Transport Nodes–>+ADD EDGE NODE
系统第一步会让我们选择edge的大小规格:
设备大小 | 内存 | vCPU | 磁盘空间 | 虚拟机硬件版本 | 备注 |
---|---|---|---|---|---|
NSX Edge 小型 | 4 GB | 2 | 200 GB | 11 或更高版本(vSphere 6.0 或更高版本) | 仅概念验证部署。注:如果部署小型 NSX Edge 虚拟机,则不会在 Tier-1 网关上实现 L7 规则。 |
NSX Edge 中型 | 8 GB | 4 | 200 GB | 11 或更高版本(vSphere 6.0 或更高版本) | 在仅需要使用 L2 至 L4 功能(例如 NAT、路由、L4 防火墙、L4 负载均衡器)并且总吞吐量要求小于 2 Gbps 时适用。 |
NSX Edge 大型 | 32 GB | 8 | 200 GB | 11 或更高版本(vSphere 6.0 或更高版本) | 在仅需要使用 L2 至 L4 功能(例如 NAT、路由、L4 防火墙、L4 负载均衡器)并且总吞吐量为 2-10 Gbps 时适用。在需要使用 L7 负载均衡器(例如,SSL 卸载)时,它也适用。 |
NSX Edge 超大型 | 64 GB | 16 | 200 GB | 11 或更高版本(vSphere 6.0 或更高版本) | 在 L7 负载均衡器和 VPN 所需的总吞吐量为多个 Gbps 时适用。 |
从上表中考虑,我们选用大型版本。
再来看看VM Edge的架构图,单独的VM Edge至少配置** 三个 vmnic:用于 NSX Edge 管理,上行链路和Overlay隧道。 **同时,VM Edge需要部署两台虚拟N-VDS:Overlay和VLAN。
为了方便登录Edge做debug和验证,我们把SSH打开。
我们选定主机作为宿主。 在实际的项目中,如果不用裸机Edge,我们通常会专门拿出一组(3+)主机来做管理Cluster,并将Edge Cluster部署在此。
这一步比较关键,将在这里指定两台N-VDS的配置,Overlay的交换机和主机准备的Overlay在同意个Transport Zone。
注意:Uplink口连接到VDS的Overlay-Port-Group上面。 然后,我们还要建一个虚拟交换机: Transport Zone使用VLAN属性的tz-vlan,上联到VDS的Vlan-01-Port-Group
点击完成,系统会自动生成VM Edge实例。
从vCenter也可以看到edge部署好了。接下来,我们再部署一个vm Edge并建立Cluster
部署完成的整体架构如下图:
在此基础上,我们就可以进行路由和交换等方面的部署了。
小结: 我们在讲NSX-T架构的时候,一般会涉及两个层次:
- 管控分离的架构:Manager、Controller和主机数据平面
- 实际部署的N-VDS、Edge架构