原文地址: https://communities.vmware.com/docs/DOC-37591
翻译说明:最近有客户要一些nsx-t相关的技术资料,这一篇设计指南比较有价值,而且可以公开发表。翻译了部分内容,供大家参考。如有疏漏之处,请不吝指正。
1 介绍
1.1 NSX-T 架构的价值和范围(原文1.3)
VMware NSX-T被设计成适应具有异构端点和技术堆栈的应用框架和架构。除了vSphere,这些环境可能包括其他的虚拟化程序、容器、裸机和公共云。NSX-T允许开发团队选择最适合其特定应用的技术。NSX-T不仅提供给IT使用,也是为开发组织的管理、操作和消费而设计。
NSX-T架构是围绕四个基本属性设计的。图1-1描述了跨越任何站点、任何云和任何端点设备的这些属性的通用性。这不仅在基础设施级别(如硬件、管理程序)上,而且在公共云(如AWS、Azure)和容器级别(如K8、Pivotal)上实现了更大的解耦,同时维护跨域实现的平台的四个关键属性。NSX-T体系结构的关键价值概念和特点包括:
策略和一致性:允许通过RESTful API一次性定义策略并实现最终状态,以满足当今自动化环境的需求。NSX-T维护多个独立系统清单信息和控制以实现不同域中期望结果。
网络和连接性:允许与多个vSphere和kvm节点进行一致的逻辑交换和分布式路由,而无需绑定到计算管理器/域。连接通过特定于域的实现在容器和云之间进一步扩展,同时仍然提供跨异构端点的连接。
安全和服务:允许与网络一样使用统一的安全策略模型连通性。这样就可以实现跨多个计算域的负载均衡器、NAT、EDGEfw和dfw等服务。安全操作规定阐述了:提供在虚拟机和容器工作负载的一致安全对于确保整体框架的完整性至关重要。
可见性:允许通过跨计算域的公共工具集进行一致的监视、指标收集和流跟踪。这对于混合工作负载的操作是至关重要的–通常,以虚拟机和容器为中心的这两种工作负载都具有完成类似任务的截然不同的工具。
这些属性能实现异构性,应用一致和可扩展性来支持不同需求。此外,NSX-T支持DPDK库以提供线速有状态服务(例如,负载均衡器、NAT)。
异构性
为了满足异构环境的需要,NSX-T的一个基本要求是不依赖于计算管理器。由于这种方法要求支持多个虚拟化程序和/或多个工作负载,因此没有NSX到vCenter的1:1映射。在设计NSX-T的管理层、控制层和数据层组件时,特别考虑了灵活性、可扩展性和性能。
管理平面是独立于任何计算管理器(包括vSphere)设计的。VMware NSX-T®Manager™是完全独立的;NSX功能的管理是直接进行的,无论是通过编程还是通过GUI。
控制平面体系结构被分为两个组件——集中式集群和端点特定的本地组件。这使得控制平面能够随着本地化实现(数据平面实现和安全实施)的提高而扩展,更有效率并且允许异构环境。
在不同的环境中数据平面设计成规范化的实体。NSX-T引入了一个主机交换机,它规范了各种计算域之间的连接,包括多个VMware vCenter®实例、KVM、容器和其他非本地实现。此交换机称为N-VDS。
应用一致的。
NSX-T是以应用程序为关键结构构建的。无论应用程序是在传统的瀑布模型中构建的,还是在新的微服务应用程序框架中开发的,NSX-T都会始终如一地处理网络和安全问题。这种一致性扩展到容器和本地多个虚拟化管理程序,然后进一步扩展到公共云。此功能首先可用于Amazon Web Services(AWS),并将扩展到其他云以及内部连接解决方案。这使开发人员能够专注于提供最大好处的平台,同时在跨网络和安全平台上提供IT运营一致性。
容器和云原生和NSX-T集成
当前的数字转型时代挑战了IT部门在处理规范应用程序和数据安全、提高交付速度和提高应用程序可用性的指令方面。IT管理员意识到必须采取新的方法来维护相关性。通过将连接性、安全性和策略定义为应用程序生命周期的一部分,在体系结构上解决问题是至关重要的。基于应用驱动基础设施的网络和交换段的程序化和自动创建是满足这些新体系结构要求的唯一途径。
NSX-T旨在满足这些新兴应用程序框架和具有异构端点和技术堆栈的体系结构的需求。NSX允许IT和开发团队选择最适合其特定应用的技术。它提供了一个通用框架来管理和提高包含虚拟机和容器的环境的可见性。随着开发人员采用容器之类的新技术,并且在公共云中运行的工作负载百分比增加,网络虚拟化必须扩展,以提供在这些环境中本机的各种网络和安全服务(如LB、NAT、DFW等)。通过为运行在虚拟机或容器上的工作负载提供无缝网络虚拟化,NSX现在支持多个CaaS和PaaS解决方案,其中存在基于容器的应用程序。
NSX-T容器插件(NCP)的构建是为了提供与许多基于容器的应用程序可以驻留的环境的直接集成。容器协调器(有时称为CaaS),例如Kubernetes(即K8S),是NSX-T集成的理想选择。包含K8S企业发布版的解决方案(如RedHat OpenShift、Pivotal 容器服务)支持NSX-T解决方案。此外,NSX-T支持与Pivotal Cloud Foundry等PaaS解决方案的集成。
NCP的主要组件运行在一个容器中,并与NSX管理器和Kubernetes API服务器(在k8s/openshift的情况下)进行通信。NCP监控对容器和其他资源的更改。它还通过NSX API管理容器的网络资源,如逻辑端口、交换机、路由器和安全组。
NSX容器插件:NCP是容器映像形式的软件组件,通常作为kubernetes pod运行。
适配器层:NCP以模块化的方式构建,因此可以为各种CaaS和PaaS平台添加单独的适配器。
NSX基础结构层:实现创建拓扑、连接逻辑端口等的逻辑。
NSX API客户端:实现到NSX API的标准化接口。
多云架构和NSX-T
当扩展到公共云中的工作负载时,NSX-T为跨私有云和多个公共云的网络和安全策略管理提供了一个玻璃平面。NSX-T还以覆盖模式提供对交换和路由的完整拓扑控制,并抽象底层云提供商网络的局限性。
从可视性的角度来看,它提供了对公共云资源清单的视图,例如虚拟机(例如实例)和网络(例如vpc、vnets)。由于相同的NSX-T部署正在公共云中管理工作负载,因此整个基础设施可以在 day2 运维中保持一致。
云服务管理器提供跨多个云、多个使用工作负载帐户和多个vpc/vnet的清单视图。NSX-T管理器和控制器管理跨多个云部署(包括私有云)的策略一致性。公共云网关在每个VPC/VNET中提供一个本地化的NSX控制平面,并负责将策略向下推送到每个公共云实例。此外,公共云网关还提供类似于本地NSX-T边缘的NSX-T服务,如DHCP和NAT。每个实例内的NSX-T代理提供一个分布式数据平面,其中包括分布式防火墙实施、逻辑交换和逻辑路由。
有关NSX-T如何在云工作负载中受益的更多信息,请访问nsxcloud(https://cloud.vmware.com/nsx-cloud)
可扩展的
异构性和应用程序一致性的关键架构原则本质上是可扩展性的属性,但是完全可扩展性需要更多。可扩展性还意味着能够支持多租户和域环境以及集成到DevOps工作流中。
2 NSX-T 架构组件
NSX-T在软件中复制了整套网络服务(如交换、路由、防火墙、QoS)。这些服务可以以编程方式任意组合,在几秒钟内生成唯一的、独立的虚拟网络。NSX-T通过实现三个独立但集成的平面来工作:管理、控制和数据。这三个平面作为一组进程、模块和代理实现,这些进程、模块和代理驻留在三种类型的节点上:管理器、控制器和传输。
2.1 管理平面
管理平面为系统提供了一个API入口点。它负责维护用户配置、处理用户查询,并在所有管理、控制和数据平面节点上执行操作任务。
NSX-T Manager为NSX-T生态系统实施管理平面。它提供一个聚合的系统视图,是NSX-T的集中网络管理组件。NSX-T Manager以虚拟机的形式提供,并提供以下功能:
通过RESTfulAPI或NSX-T用户界面作为用户配置的唯一入口点。
负责将所需配置存储在其数据库中。NSX-T管理器存储用户对系统的最终配置请求。此配置将由NSX-T管理器推送到控制平面,以成为一个已实现的配置(即数据平面中有效的配置)。
除了系统信息(如统计信息)外,还检索所需配置。
所有NSX-T组件都运行一个管理平面代理(MPA),将它们连接到NSX-T管理器。
2.2 控制平面
控制平面根据管理平面的配置计算系统的运行时状态。它还负责传播数据平面的组件报告的拓扑信息,并将无状态配置推送到转发引擎。
NSX-T将控制平面分成两部分:
- 中央控制平面(CCP)-CCP作为称为CCP节点的虚拟机集群实施。集群形式提供了资源的冗余性和可伸缩性。从逻辑上讲,CCP与所有数据平面流量分开,这意味着控制平面中的任何故障都不会影响现有的数据平面操作。用户流量不通过CCP集群。
- 本地控制平面(LCP)-LCP在传输节点上运行。它与它控制的数据平面相邻,并与CCP相连。LCP负责对数据平面的转发条目进行编程。
2.3 数据平面
数据平面根据控制平面填充的表执行数据包的无状态转发或转换。它向控制平面报告拓扑信息并维护包级统计信息。
传输节点是运行本地控制平面守护进程和实现NSX-T数据平面的转发引擎的主机。这些在图2-1中表示为N-VDS。N-VDS负责根据可用网络服务的配置交换数据包。NSX-T中有几种类型的传输节点:
- N-VDS:NSX虚拟分布式交换机是一个通用的软件定义的交换机平台,它独立于虚拟化管理程序。它是传输节点数据平面中涉及的主要组件。n-vds在传输节点上运行的组件之间(如虚拟机之间)或内部组件与物理网络之间转发流量。
- 虚拟机监控程序传输节点:虚拟机监控程序传输节点是为NSX-T准备和配置的虚拟机监控程序。N-VDS向在这些虚拟机监控程序上运行的虚拟机提供网络服务。NSX-T目前支持VMware ESXi™和KVM管理程序。KVM实现的N-VDS是基于开放式虚拟交换机(OVS)的,与平台无关。它可以移植到其他管理程序中,并作为NSX-T在其他环境(例如云、容器等)中实现的基础。
- Edge节点:VMware NSX®Edge™节点是专用于运行无法分发到管理程序的网络服务的服务设备。它们被分组在一个或多个集群中,代表一个能力池。
二层网桥:二层网桥是负责在NSX-T覆盖层和支持VLAN的物理网络之间桥接通信的设备。一个二级网桥是通过两个ESXi虚拟化管理程序(基于每个VLAN的活动/备用)组成的集群实现的,专门用于桥接。