自动化的NSX网络交付

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 临近年关,忙忙碌碌;今天下定决心更新,说一说NSX数据中心网络的自动交付。

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

image.png

     现在,我们将目标重新聚焦到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级别的逻辑路由器。

image.png

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

     我部署了四个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逻辑路由器。

image.png

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

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

image.png

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

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

image.png

      在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动态路由的方式,与上层物理路由器实现路由学习-更新-发布-互通;这样整个数据中心网络的连通性就能顺理成章地自动实现。不再需要管理员手动配置,当用户申请服务的时候,所有的这一些都会在很短的时间内被自动创建,大大缩短了业务上线的时间,也提升了管理员的运维效率。

image.png

image.png

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

image.png

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

image.png

这里面可以看到:

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

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

image.png

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

image.png

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

image.png

image.png

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

image.png

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

image.png

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

image.png

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

这是晓冬2020年的第一篇更新,也是NSX-T为主题的变形金刚系列的最后一篇。原先计划分享一些vRealize Suite组件的演示和个人理解,但是最近vRA8全新的架构还在持续摸索中,先暂时缓缓吧。我想,在下一篇更新中,来向大家聊一聊初步接触VMware Project Pacific的一些感悟,敬请关注。


相关文章
|
4月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
1月前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
5月前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
103 2
|
1月前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
254 1
|
1月前
|
监控 网络协议 安全
员工网络监控软件:PowerShell 在网络监控自动化中的应用
在数字化办公环境中,企业对员工网络活动的监控需求日益增长。PowerShell 作为一种强大的脚本语言,能够有效实现员工网络监控自动化。本文介绍了如何使用 PowerShell 获取网络连接信息、监控特定网址的访问情况,并生成自动化报告,帮助企业高效管理员工网络活动,确保网络安全和合规性。
48 0
|
2月前
|
运维 监控 网络安全
Python 在网络运维方面的自动化应用实例
Python 在网络运维方面的自动化应用实例
65 4
|
2月前
|
数据采集 存储 数据处理
从网络请求到Excel:自动化数据抓取和保存的完整指南
本文介绍了如何使用Python自动化采集东方财富股吧的发帖信息,并将其保存到Excel中。通过代理IP、多线程和网页解析技术,规避反爬虫机制,高效抓取帖子标题和发帖时间,帮助投资者获取市场情绪和热点数据。
|
2月前
|
存储 运维 负载均衡
为什么阿里云国际版 要使用CDN(内容交付网络)?
为什么阿里云国际版 要使用CDN(内容交付网络)?
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
Nature子刊:基于内生复杂性,自动化所新类脑网络构筑人工智能与神经科科学的桥梁
【9月更文挑战第11天】中国科学院自动化研究所的研究人员提出了一种基于内生复杂性的新型类脑网络模型,通过模拟人脑内部神经元间的复杂互动来提升AI系统的智能与适应性。此模型利用图神经网络(GNN)并设计分层图结构对应人脑不同功能区,引入自适应机制根据输入数据调整结构。实验表明,此模型在图像分类及自然语言处理等任务中表现出显著提升的性能,并且处理复杂数据时更具备适应性和鲁棒性。论文链接:https://www.nature.com/articles/s43588-024-00674-9。
70 7
|
4月前
|
运维 安全 应用服务中间件
自动化运维的利器:Ansible入门与实战网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】在当今快速发展的IT时代,自动化运维已成为提升效率、减少错误的关键。本文将介绍Ansible,一种流行的自动化运维工具,通过简单易懂的语言和实际案例,带领读者从零开始掌握Ansible的使用。我们将一起探索如何利用Ansible简化日常的运维任务,实现快速部署和管理服务器,以及如何处理常见问题。无论你是运维新手还是希望提高工作效率的资深人士,这篇文章都将为你开启自动化运维的新篇章。