使用 Service Fabric 的网络控制器
可以使用本主题了解使用 Service Fabric 的软件定义网络(SDN)的网络控制器高可用性和可伸缩性配置。
在数据中心部署 SDN 时,可以使用网络控制器集中部署、监视和管理许多网络元素,包括 RAS 网关、软件负载均衡器、租户通信的虚拟网络策略、数据中心防火墙策略、SDN 策略的服务质量(QoS)、混合网络策略等。
由于网络控制器是 SDN 管理的基石,因此网络控制器部署必须提供高可用性,并且能够使用数据中心需求轻松纵向扩展或缩减网络控制器节点。
尽管可以将网络控制器部署为单台计算机群集,但若要实现高可用性和故障转移,必须在至少三台计算机的多个计算机群集中部署网络控制器。
注意
可以在运行 Windows Server 2016 Datacenter 版本的服务器计算机或虚拟机(VM)上部署网络控制器。 如果在虚拟机上部署网络控制器,则这些虚拟机必须运行在也执行 Datacenter 版本的 Hyper-V 主机上。 网络控制器在 Windows Server 2016 标准版上不可用。
网络控制器作为服务结构应用程序
为了实现高可用性和可伸缩性,网络控制器依赖于 Service Fabric。 Service Fabric 提供了一个分布式系统平台,用于生成可缩放、可靠且易于管理的应用程序。
作为平台,Service Fabric 提供构建可缩放分布式系统所需的功能。 它提供在多个操作系统实例上托管的服务、在实例之间同步状态信息、选择领导者、故障检测、负载均衡等。
注意
有关 Azure Service Fabric 的信息,请参阅 Azure Service Fabric 概述。
在多台计算机上部署网络控制器时,网络控制器在 Service Fabric 群集上作为单个 Service Fabric 应用程序运行。 可以通过连接一组操作系统实例来形成 Service Fabric 群集。
网络控制器应用程序由多个有状态 Service Fabric 服务组成。 每个服务都负责网络功能,例如物理网络管理、虚拟网络管理、防火墙管理或网关管理。
每个 Service Fabric 服务都有一个主要副本和两个次要副本。 主服务副本处理请求,而两个辅助服务副本在禁用主副本或出于某种原因不可用的情况下提供高可用性。
下图描绘了包含五台计算机的网络控制器 Service Fabric 群集。 四个服务分布在五台计算机上:防火墙服务、网关服务、软件负载平衡(SLB)服务和虚拟网络(Vnet)服务。 这四个服务中的每一个包括一个主要服务副本和两个辅助服务副本。
使用 Service Fabric 的优点
以下是将 Service Fabric 用于网络控制器群集的主要优点。
高可用性和可伸缩性
由于网络控制器是数据中心网络的核心,因此它必须能够抵御故障,并且具有足够的扩展能力,以便随着时间的推移进行敏捷的网络变更。 以下功能提供这些能力:
- 快速故障转移。 Service Fabric 提供极快的故障转移速度。 多个热辅助服务副本始终可用。 如果操作系统实例因硬件故障而不可用,则会立即将其中一个辅助副本提升为主副本。
- 缩放的敏捷性。 可以根据资源需求,轻松地快速缩放这些可靠服务,从几个实例扩展到数千个实例,然后回退到几个实例。
持久性存储
网络控制器应用程序对其配置和状态具有较大的存储要求。 应用程序还必须可在计划内和计划外中断之间使用。 为此,Service Fabric 提供了一个键值存储(简称 KVS),它是一个复制的、事务性的持久化存储。
模块性
网络控制器设计时采用模块化体系结构,每个网络服务(例如虚拟网络服务和防火墙服务)内置为单个服务。
此应用程序体系结构具有以下优势。
- 随着需求的发展,网络控制器模块化允许独立开发每个受支持的服务。 例如,可以更新软件负载均衡服务,而不会影响任何其他服务或网络控制器的正常操作。
- 随着网络的发展,网络控制器模块化允许添加新服务。 可以将新服务添加到网络控制器,而不会影响现有服务。
注意
在 Windows Server 2016 中,不支持向网络控制器添加第三方服务。
Service Fabric 模块化使用服务模型架构,以最大程度地简化应用程序开发、部署和服务。
网络控制器部署选项
若要使用 System Center Virtual Machine Manager(VMM)部署网络控制器,请参阅 在 VMM 构造中设置 SDN 网络控制器。
若要使用脚本部署网络控制器,请参阅 使用脚本部署软件定义的网络基础结构。
若要使用 Windows PowerShell 部署网络控制器,请参阅 使用 Windows PowerShell 部署网络控制器
有关网络控制器的详细信息,请参阅 网络控制器。