使用 Ansible 在 Windows Server 2016 上配置应用程序 VIF,并将其与 NSX-T 集成。在服务器上安装的 NSX-T 代理可提供与裸机工作负载的连接并提供安全保护。

在此过程中,将在工作负载和 NSX Manager 之间建立连接。然后,会配置 DFW 规则以保护在虚拟或物理工作负载与 Windows Server 2016 裸机工作负载之间运行的输入和输出流量。

过程

  1. 在 Windows Server 2016 上启用 Windows 远程管理 (Windows Remote Management, WinRM),以允许 Windows Server 与第三方软件和硬件进行交互操作。使用自签名证书启用 WinRM 服务。
    1. 运行 PS$ wget -o ConfigureWinRMService.ps1 https://github.com/vmware/bare-metal-server-integration-with-nsxt/blob/master/bms-ansible-nsx/windows/ConfigureWinRMService.ps1
    2. 运行 PS$ powershell.exe -ExecutionPolicy ByPass -File ConfigureWinRMService.ps1
  2. 将 WinRM 配置为使用 HTTPS。HTTPS 使用的默认端口为 5986。
    1. 以管理员身份运行 Powershell。
    2. 运行 winrm quickconfig
    3. 运行 winrm set winrm/config/service/auth @{Basic="true"}
    4. 运行 winrm set winrm/config/service @{AllowUnencrypted="true"}
    5. 运行 winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="win16-colib-001";CertificateThumbprint="cd 65 61 d8 b2 25 a7 ca 99 f8 1f a5 0c 55 8b f1 38 0d 06 26"}
    6. 验证 WinRM 配置。运行 winrm e winrm/config/listener
  3. 使用 Ansible 为 Windows Server 创建应用程序接口。
  4. 使用 Ansible 通过 WinRM 隧道在 NSX Manager 上创建分段和分段端口。
    将应用程序虚拟接口、 NSX Manager 和 Windows 远程管理与为应用程序虚拟接口创建的分段和端口同步。
  5. 在 Windows 中,为 Windows Server 自定义 OVSIM 驱动程序,以便为覆盖网络支持的工作负载创建两个新的网络适配器 - 应用程序虚拟接口和虚拟隧道端点 (VTEP)。
    $:> Get-NetAdapter
    vEthernet1-VTEP:用于覆盖网络支持的 VTEP 接口。VLAN 支持的工作负载无需使用。
    vEthernet1-VIF1:用于裸机 Windows Server 的虚拟接口或应用程序接口。
  6. 要验证网络适配器,请转到 Windows Server 并运行 Get-NetAdapter
  7. 将裸机服务器添加为独立传输节点。在 NSX Manager 中,转到系统 → Fabric → 节点 → 主机传输节点
  8. 托管主体下拉菜单中,选择独立主机,然后单击 + 添加
  9. 在创建传输节点的过程中,请确保满足以下条件:
    • 上行链路字段中,将上行链路映射到 Windows Server 上的可用 IP 地址。在 Windows Server 上运行 Get-NetAdapter,以了解要将哪个以太网地址配置为裸机传输节点的上行链路。
    • 在覆盖网络支持的工作负载中,选择 IP 池、静态 IP 或 DHCP 作为将 VTEP 地址分配给主机的模式。
    • 在 VLAN 支持的工作负载中,主机不需要 IP 分配。
      注: 在 Windows Server 2016 服务器上, NSX-T 不支持网卡绑定或 OVS 绑定配置。
    NSX Manager 会在裸机服务器上自动安装必需的 NSX-T VIB 和 NSX-T 代理。有关更多详细信息,请参见 创建独立主机或裸机服务器传输节点
  10. 或者,您也可以手动将裸机服务器准备为传输节点,或按照交互式模式将服务器准备为传输节点。
    1. 使用 wget 命令下载并安装 NSX-T LCP Windows 包。
    2. 要以静默方式安装 NSX-T,请运行 \\install_helper.ps1 -operation install -setupFile VMware-NSX-<version>_baremetal-server_setup.exe -installPath <path>
    3. 要以交互方式安装 NSX-T,请双击 setup.exe 文件,然后按照向导完成安装。
    4. 运行 nsxcli 命令以将 Windows Server 加入到 NSX Manager 中。
    5. 通过 NSX Manager UI 或 REST API 将主机配置为传输节点。有关更多详细信息,请参见创建独立主机或裸机服务器传输节点
  11. 验证是否已在 Windows Server 上创建 OVS 网桥。OVS 网桥会将应用程序虚拟接口连接到传输节点上的 NSX 交换机。
    ovs-vsctl show
    输出必须显示从 NSX 交换机NSX 管理的主机组件中创建的网桥。 NSX 交换机网桥将用于已创建的传输节点。 NSX 管理的网桥为 Windows 主机上的应用程序虚拟接口而创建。这些网桥条目将指示已在 NSX 交换机和 Windows 远程侦听器之间建立通信通道。
  12. 使用 Ansible 客户端为覆盖网络或 VLAN 支持的分段配置静态 IP 地址。
    运行 vi win_hosts
  13. 为服务启动 Ansible playbook 以配置 Windows 裸机服务器。
    运行 ansible-playbook -i win_hosts win_static_config.yml
  14. 在覆盖网络支持的传输节点上,验证以下项:
    • 静态 IP 地址显示为将 Windows Server 工作负载连接到的覆盖网络分段的 IP 地址。
    • 已在 Windows 主机上 NSX 交换机和 NSX 管理的主机组件之间创建 GENEVE 隧道。
    注: 同样地,在 VLAN 支持的传输节点上,确认静态 IP 地址显示为将 Windows Server 工作负载连接到的 VLAN 分段的 IP 地址。
  15. 验证应用程序、Windows 裸机服务器和 NSX Manager 之间的连接。
  16. 为覆盖网络或 VLAN 支持的裸机工作负载添加并发布 L2 或 L3 DFW 规则。
  17. 确认虚拟或物理工作负载与裸机工作负载之间的输入和输出流量按照发布的 DFW 规则流动。