临近年关,忙忙碌碌;今天下定决心更新公众号,说一说NSX数据中心网络的自动交付。

在今年的vForum大会上,我也非常有幸和许多与会的技术专家交流了NSX打造的网络与安全的最后一公里。其中,我谈起传统数据中心解决方案会对网络资源进行强制的划分:比如网络管理员在进行规划的时候,会预先定义若干个C类给专门的网络区域或者应用使用。这种不灵活的网络设计会成为业务上线后管理员沉重的工作负担。而在虚拟化已经成为主流、微服务逐渐兴起的时代,对东西向流量的安全需求,也逐渐成为刚需,甚至是国家法律合规的约束。

现在,我们将目标重新聚焦到NSX构建的软件定义网络之上。有人会质疑,NSX的确可以通过分布式防火墙技术,实现虚拟机颗粒度、容器POD颗粒度的安全防护;但是他似乎无法解决强制的网络资源划分问题,工程师依旧需要创建好逻辑交换机、逻辑路由器,配置路由协议,似乎这一切与传统数据中心网络实现并无太大的区别。

这个问题,我们先暂时放一放,来看看在一个典型项目的实施阶段,NSX数据中心的网络是如何实现的。

1. 各类配置文件就绪,传输区域设置

2. 传输节点就绪,其中包括主机传输节点和边界传输节点

3. 逻辑交换机的配置

4. 逻辑路由器的配置

5. 路由协议实现逻辑网络与物理网络的互通

6. 其他有状态服务的配置

所有的这些配置工作,都可以由管理员通过鼠标点击实现。因此在纯手动配置逻辑网络的场景下,管理员当然需要预先规划好网络设计。

我们知道NSX提供非常丰富的标准API接口,通过云管理平台,是完全可以实现自动化交付网络服务的需求的,这其中就包括了逻辑交换机、逻辑路由器和各类有状态的服务。此时管理员不再需要为业务生硬的规划具体的IP地址和网络,只需要声明一个有充分资源的网络地址资源池,就可以实现业务网络的快速交付,解决了传统中心网络运维复杂的难点。

说到云管平台,就不得不提起VMware vRealize Automation(后文称vRA)这个产品。最近和同事都在开荒vRA8,全新的容器化结构需要有一些时间去消化、归纳和总结。在今天的分享中,我将采用NSX-T与vRA7.6进行演示用例。

现在就让我们来看看NSX-T与vRA集成后,如何自动化交付逻辑网络的。

看过前几篇分享的朋友,一定还记得NSX-T在和容器集成、OpenStack集成的时候,管理员都要定义一个边界群集和Tier0级别的逻辑路由器。

上面那张是我的演示环境网络整体拓扑:

我部署了四个Tier0逻辑路由器用以演示NSX DC的四大功能,分别是面向ESXI和KVM的软件定义网络、容器云原生网络、自动化交付和与OpenStack集成;当然有兴趣自建LAB的朋友可以选择只部署一台Tier0逻辑路由器。

在NSX实现的云原生网络中,管理员每创建一个Namespace,就会在NSX-T的环境中,自动创建一个Tier1逻辑路由器,自动分配一个IP地址段,并连接到预先定义的Tier0逻辑路由器,实现云原生网络与外部VLAN网络的互通。类比地来看,在NSX与vRA集成的自动化网络交付场景下,用户通过访问vRA的服务目录,每创建一个请求,就可以在NSX-T的环境中,自动创建一个Tier1逻辑路由器,自动从可用的IP规划中,分配若干个子网,以多个逻辑交换机的方式上联到Tier1逻辑路由器实现内部的东西向互访,该Tier1逻辑路由器再连接到预先定义的Tier0逻辑路由器,实现南北向互访。

因此,我们首先需要来定义一个用于自动化创建的网络上联的Tier0逻辑路由器:

vRA是支持多租户的云管理平台,我使用SE部门的管理员访问vRA门户,在基础架构-预留配置中,声明Tier0逻辑路由器。

包括vCenter、NSX DC Manager(后文称NSXMGR)在内的组件都是以“端点”的形式,与vRA进行交互,为了确保架构管理员可以看到最实时的vCenter、NSXMGR对象,系统会定期更新同步。

当网络管理员访问NSXMGR,添加了一个Tier0逻辑路由器并经过同步后,租户的架构管理员就可以以“预留”的形式,定义将来自动化交付的Tier1逻辑路由器将被允许自动连接到该Tier0逻辑路由器,如我环境中的Dev-Tier0-LR-Tenant3

细心的朋友一定会发现,在声明了Tier0逻辑路由器的选项右侧,还有一个S7-SE-Transit-Tier-NetProf命名的网络配置文件,这是一个什么配置呢?

在vRA租户的基础架构-预留-网络配置文件页面,可以看到面向SE租户的四个网络配置文件,分别是外部网络配置文件和(按需)路由网络配置文件。

在vRA与NSX-V的集成场景中,外部网络配置文件是想当重要的:它将用于Edge Service Gateway与Distributed Logical Routers之间的Transit Tier网络地址的规划。而在vRA与NSX-T的集成场景中,由于Tier0和Tier1逻辑路由器之间的逻辑交换机属于内联逻辑交换机,为自动分配100.64.0.0/16的地址,此时的外部网络配置文件的网络规划并没有太大的意义,只是用来将路由网络配置文件与早些定义的Tier0逻辑路由器进行关联。

比如下图的S7-SE-Web-Tier-NetProf定义的192.168.13.128/25 CIDR,当蓝图需要创建按需路由网络,并且关联了该网络配置文件的时候,vRA会自动从这个CIDR中选择一个29位子网掩码的地址段分配给一个逻辑交换网络使用;同时将这个地址段中第一个可用的IP地址作为该逻辑交换网络的网关,配置在自动创建出来的一个Tier1逻辑路由器上,该逻辑路由器通过关联的“外部网络配置文件”,就会自动连接到对应的Tier0逻辑路由器上。

由于Tier0逻辑路由器与Tier1逻辑路由器之间的路由属于内部路由,自动学习,因此逻辑网络连通性是不需要额外的配置就能建立的;同时由于Tier0逻辑路由器的SR角色会通过静态路由或者BGP动态路由的方式,与上层物理路由器实现路由学习-更新-发布-互通;这样整个数据中心网络的连通性就能顺理成章地自动实现。不再需要管理员手动配置,当用户申请服务的时候,所有的这一些都会在很短的时间内被自动创建,大大缩短了业务上线的时间,也提升了管理员的运维效率。

可以看到,当某一个可用的地址段因为被使用而分配出去的时候,架构管理员可以在vRA租户的页面清楚地看到这些信息。

下图是我的复合蓝图设计示例。

这里面可以看到:

1. 一共有三种不同类型的虚拟机实例,分别是Web虚拟机、App虚拟机和DB虚拟机,vRA会调用vCenter上的虚拟机模板和自定义规范,完成这些虚拟机的置备。

2. 为了减少IT的运维工作量,所有的虚拟机在被创建的时候,会连接到自动创建的逻辑网路中。vRA会根据网络配置文件的定义,自动创建逻辑交换机、Tier1逻辑路由器,并且将Tier1逻辑路由器连接到预先创建和定义的Tier0逻辑路由器上。

3. 所有虚拟机在置备完成后,需要进行优化配置和对应的软件安装和集成。如DB虚拟机需要根据预先定义的脚本,安装MYSQL数据库,系统将根据该虚拟机被分配的IP地址作为数据库的侦听IP,并根据用户自己的定义,完成管理员账号密码的设置。

4. 出于业务高可用性的考量,在完成多台Web虚拟机的创建后,还会自动创建出负载均衡器,提供南北向的负载均衡,满足外部用户接入的需求。

5. 出于安全的考量,管理员预先定义了安全策略,所有创建出来的虚拟机都将被关联这些策略,借助分布式防火墙为业务安全稳定地运行保驾护航。

当所有的这一切都在Day0被定义,用户在Day1申请了这个服务后,我们来看看系统发生了哪些变化。

可以看到,vRA自动化地,在vCenter管理的群集上创建虚拟机,在NSXMGR管理的主机传输节点上创建逻辑交换机、逻辑路由器、负载均衡器等对象;所有的这些工作在短短数分钟内完成。

在vCenter上可以看到用户创建的虚拟机实例正在稳定运行,分配了预先定义的IP地址。

在NSXMGR上,可以看到逻辑交换机被创建,并且连接到Tier1逻辑路由器上,网关地址是vRA根据网络配置文件分配的第一个可用的IP地址;该Tier1逻辑路由器连接到了对应的Tier0逻辑路由器上。

为Web虚拟机自动创建的负载均衡器也在稳定对外提供业务访问。

最终用户看到的,“仅仅”只是一个符合他们需求的应用而已。

套用那句“总有人为你负重前行”,vRA为业务的敏捷交付,为管理员的效率提高而负重前行,而这一切是NSX数据中心与vRealize Automation这样的云管平台集成后,所能带来的巨大收益。

因此,想要发挥软件定义网络或者说NSX数据中心带来的变革,最大化NSX数据中心的收益,是需要自动化交付平台来助力的,也是用户选择NSX,选择vRealize CMP的一个非常重要的原因。

这是晓冬2020年的第一篇更新,也是NSX-T为主题的变形金刚系列的最后一篇。原先计划分享一些vRealize Suite组件的演示和个人理解,但是最近vRA8全新的架构还在持续摸索中,先暂时缓缓吧。

我想,在下一篇更新中,来向大家聊一聊初步接触VMware Project Pacific的一些感悟,敬请关注。

自动化的NSX网络交付相关推荐

  1. 《新一代SDN——VMware NSX 网络原理与实践》——第1章 SDN与网络虚拟化的起源与现状 1.1SDN的起源和发展历程...

    本节书摘来自异步社区<新一代SDN--VMware NSX 网络原理与实践>一书中的第1章,第1.1节,作者:范恂毅 , 张晓和著,更多章节内容可以访问云栖社区"异步社区&quo ...

  2. 《新一代SDN——VMware NSX 网络原理与实践》——导读

    ** 前言 ** 当企业需要搭建一个"云"的时候,无论它是公有云还是私有云,其基础架构一定涉及网络.计算和存储这三大块.NIST对云计算的定义中,明确提出了云中资源需要实现&quo ...

  3. 从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨

    以前的大二层技术,一般是在物理网络底层使用IS-IS路由技术,再在此基础之上,实现数据中心网络的二层扩展,如公有的Trill.SPB技术和Cisco私有的OTV.Fabricpath技术:前沿一些的网 ...

  4. 《新一代SDN——VMware NSX 网络原理与实践》——1.2 认识SDN

    本节书摘来自异步社区<新一代SDN--VMware NSX 网络原理与实践>一书中的第1章,第1.2节,作者:范恂毅 , 张晓和著,更多章节内容可以访问云栖社区"异步社区&quo ...

  5. 《新一代SDN——VMware NSX 网络原理与实践》——2.4 与VMware NSX相关的认证

    本节书摘来自异步社区<新一代SDN--VMware NSX 网络原理与实践>一书中的第2章,第2.4节,作者:范恂毅 , 张晓和著,更多章节内容可以访问云栖社区"异步社区&quo ...

  6. Vsphere client 之部署NSX网络和安全组件

    Vsphere client 之部署NSX网络和安全组件 部署NSX网络和安全 将NSX部署在ESXI 192.168.85.101的主机上 选择本地文件,找到NSX的OVA文件 设置NSX虚拟机的名 ...

  7. (8)微信UI自动化-监控微信网络状态(C#)

    微信定时发送消息 (1)自动化程序在运行过程中应为依赖的主程序是微信,所以要对微信网络状态进行监控,如果发现微信处于断网状态的情况则自动化程序可以执行对应操作. (2)实现思路,开启一个线程定时监控微 ...

  8. 混合的app自动化_混合网络自动化

    混合的app自动化 When the captcha pops, the algo stops 当验证码弹出时,算法停止 In our prior article Web Automation we ...

  9. 用自动化工具进行网络巡检------AINA Lyzer

    如今,随着企业信息化建设步伐不断加快,各大公司旗下网站.硬件设备等资产快速增长,内容十分丰富.但同时,在面对海量需要日常检查的信息和设备时,巡检工作的压力也与日俱增.人工巡检操作繁杂.费时费力,且依赖 ...

最新文章

  1. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
  2. Android View 的滑动
  3. python基础(17)之 JSON
  4. 人生路上对我影响最大的三位老师
  5. 贝叶斯公式的图形记忆
  6. Java线程的5种状态及切换(透彻讲解)-京东面试
  7. 10款屏幕取色器/颜色拾取工具软件介绍及下载地址(附截图)
  8. autohotkey 双击
  9. 计算机中反三角函数怎么算,计算器怎么算反三角函数?
  10. 腾讯地图经纬度选择和图层功能
  11. JavaScript简史
  12. 计算机三级在线题库,计算机三级网络技术题库(附答案)
  13. 关于如何理解Glibc堆管理器(Ⅹ——完结、补充、注释——Arena、heap_info、malloc_*)
  14. 是否该读博士(ZZ)
  15. power bi 如何构建不同年份的月度对比_数据中台构建拥有一站式数据应用平台的三种捷径...
  16. SQL server 语句运行很快,放到代码编译器中就很慢
  17. java 方法重载 参数列表不同
  18. 关于在文字前方添加图片
  19. 用python计算二元一次方程
  20. 接亲现场,新郎被要求写代码

热门文章

  1. 序列化与反序列化_分布式系统基础之序列化和反序列化
  2. python实现自动工作_python实现串口自动触发工作的示例
  3. python随机画圆_python生成随机图形验证码详解
  4. python爬取json数据_Python爬取数据保存为Json格式的代码示例
  5. Pycharm知识点
  6. C++基础与深度解析第五章: 语句
  7. php 取得user_agent,php通过$_SERVER['HTTP_USER_AGENT']获取浏览器相关参数(转)
  8. 64位浮点数_C语言常见面试题解析(1)——浮点数的比较
  9. mysql 存储过程复杂查询_SQL分页存储过程 支持连接查询等复杂的SQL
  10. 基于stm32的c语言程序设计,基于stm32的电子密码锁设计 main.c 代码奉上,做课设的直接用...