vSphere IaaS control plane 环境中,主管 可以使用 vSphere 网络堆栈或 NSX 建立与 主管 控制平面虚拟机、服务和工作负载的连接。

主管 配置 vSphere 网络堆栈时,主管 中的所有主机都将连接到可提供与工作负载和 主管 控制平面虚拟机的连接的 VDS。使用 vSphere 网络连接堆栈的 主管 需要使用 vCenter Server 管理网络上的负载均衡器建立与 DevOps 用户和外部服务的连接。

配置了 NSX主管 使用该解决方案的基于软件的网络以及 NSX Edge 负载均衡器或 NSX Advanced Load Balancer,来提供与外部服务和 DevOps 用户的连接。如果您的环境满足以下条件,则可以在 NSX 上配置 NSX Advanced Load Balancer
  • NSX 版本为 4.1.1 或更高版本。
  • NSX Advanced Load Balancer 版本为具有 Enterprise 许可证的 22.1.4 或更高版本。
  • 您计划配置的 NSX Advanced Load Balancer Controller 已在 NSX 上注册。
  • 尚未在 主管 上配置 NSX 负载均衡器。

使用 VDS 进行 主管 网络连接

在由作为网络堆栈的 VDS 支持的 主管 中,支持 主管 的 vSphere 集群中的所有主机必须连接到同一个 VDS。主管 使用分布式端口组作为 Kubernetes 工作负载和控制平面流量的工作负载网络。将工作负载网络分配给 主管 中的命名空间。

根据为 主管 实施的拓扑,可以使用一个或多个分布式端口组作为工作负载网络。用于建立与 主管 控制平面虚拟机连接的网络被称为“主工作负载网络”。可以将此网络分配给 主管 上的所有命名空间,也可以对每个命名空间使用不同的网络。Tanzu Kubernetes Grid 集群将连接到分配给集群所在命名空间的工作负载网络。

VDS 支持的 主管 使用负载均衡器建立与 DevOps 用户和外部服务的连接。可以使用 NSX Advanced Load Balancer 或 HAProxy 负载均衡器。

有关详细信息,请参见安装和配置 NSX Advanced Load Balancer安装和配置 HAProxy 负载均衡器

在单集群 主管 设置中,只有一个 vSphere 集群支持 主管。集群中的所有主机都必须连接到 VDS。

图 1. 使用 VDS 进行单集群 主管 网络连接

配置了 VDS 网络堆栈的 主管 的网络架构。

在三区域 主管 中,在三个 vSphere 区域上部署 主管,每个区域都将映射到一个 vSphere 集群。这些 vSphere 集群中的所有主机都必须连接到同一个 VDS。所有物理服务器都必须连接到 L2 设备。为命名空间配置的工作负载网络跨所有三个 vSphere 区域。

图 2. 使用 VDS 进行三区域 主管 网络连接

在三个 vSphere 区域上运行的 主管 的网络架构,其中每个工作负载网络均跨越所有三个区域。

使用 NSX 进行 主管 网络连接

NSX主管 中的对象与外部网络提供网络连接。集群中包含的 ESXi 主机的连接由标准 vSphere 网络处理。

您还可以使用现有 NSX 部署或部署 NSX 的新实例来手动配置 主管 网络。

有关详细信息,请参见安装和配置 NSX for vSphere IaaS control plane

图 3. 使用 NSX 进行 主管 网络连接
配置了 NSX 网络堆栈的 主管 的网络架构。
  • NSX Container Plugin (NCP) 提供 NSX 与 Kubernetes 之间的集成。NCP 的主要组件在容器中运行,并与 NSX Manager 和 Kubernetes 控制平面进行通信。NCP 监控对容器和其他资源的更改,并通过调用 NSX API 管理容器的网络资源,例如,逻辑端口、分段、路由器和安全组。

    默认情况下,NCP 为系统命名空间创建一个共享 Tier-1 网关,为每个命名空间创建一个 Tier-1 网关和负载均衡器。Tier-1 网关连接到 Tier-0 网关和默认分段。

    系统命名空间是指确保 主管Tanzu Kubernetes Grid 集群正常运行而必不可少的核心组件所使用的命名空间。包括 Tier-1 网关、负载均衡器和 SNAT IP 在内的共享网络资源分组在一个系统命名空间中。

  • NSX Edge 提供从外部网络到 主管 对象的连接。NSX Edge 集群具有一个负载均衡器,可为驻留在 主管 控制平面虚拟机上的 Kubernetes API 服务器及必须从 主管 外部发布并访问的所有应用程序提供冗余。
  • Tier-0 网关与 NSX Edge 集群关联,以提供到外部网络的路由。上行链路接口使用动态路由协议、BGP 或静态路由。
  • 每个 vSphere 命名空间 都有一个单独的网络和一组由命名空间中的应用程序共享的网络资源,例如,Tier-1 网关、负载均衡器服务和 SNAT IP 地址。
  • 位于同一个命名空间中的工作负载(在 vSphere Pod、常规虚拟机或 Tanzu Kubernetes Grid 集群中运行的工作负载)共享同一个 SNAT IP 实现南北向连接。
  • vSphere PodTanzu Kubernetes Grid 集群中运行的工作负载将具有与默认防火墙实施的相同隔离规则。
  • 每个 Kubernetes 命名空间不需要单独的 SNAT IP。命名空间之间的东西向连接将不进行 SNAT。
  • 每个命名空间的分段驻留在与 NSX Edge 集群关联且以标准模式运作的 VDS 中。分段可为 主管 提供覆盖网络。
  • 主管 在共享 Tier-1 网关中具有单独的分段。对于每个 Tanzu Kubernetes Grid 集群,分段在命名空间的 Tier-1 网关中进行定义。
  • 每个 ESXi 主机上的 Spherelet 进程通过管理网络的接口与 vCenter Server 进行通信。

在配置了 NSX 作为网络连接堆栈的三区域 主管 中,映射到区域的所有三个 vSphere 集群中的所有主机都必须连接到同一个 VDS 并加入同一个 NSX 覆盖网络传输区域。所有主机必须连接到同一个 L2 物理设备。

图 4. 使用 NSX 进行三区域 主管 网络连接

在三个区域上运行的具有 NSX 网络连接的 主管 的网络架构。工作负载网络的分段跨所有三个区域。

使用 NSXNSX Advanced Load Balancer 进行 主管 网络连接

NSX主管 中的对象与外部网络提供网络连接。配置了 NSX主管 可以使用 NSX EdgeNSX Advanced Load Balancer

NSX Advanced Load Balancer 的组件包括 NSX Advanced Load Balancer Controller 集群、服务引擎(数据平面)虚拟机和 Avi Kubernetes Operator (AKO)。

NSX Advanced Load Balancer ControllervCenter Server 交互,以对 Tanzu Kubernetes Grid 集群自动执行负载均衡。它负责置备服务引擎、在服务引擎之间协调资源,以及汇总服务引擎衡量指标和日志记录。控制器为用户操作和编程集成提供了 Web 界面、命令行界面和 API。部署并配置控制器虚拟机后,可以部署控制器集群来为控制平面集群设置 HA。

服务引擎是数据平面虚拟机。服务引擎运行一个或多个虚拟服务。服务引擎由 NSX Advanced Load Balancer Controller 管理。控制器会置备服务引擎以托管虚拟服务。

服务引擎具有两种类型的网络接口:
  • 第一个网络接口是虚拟机的 vnic0,它连接到管理网络,以便从中连接到 NSX Advanced Load Balancer Controller
  • 其余接口 vnic1 - 8 连接到运行虚拟服务的数据网络。

服务引擎接口会自动连接到正确的 VDS 端口组。每个服务引擎最多可支持 1000 个虚拟服务。

虚拟服务为 Tanzu Kubernetes Grid 集群工作负载提供第 4 层和第 7 层负载均衡服务。一个虚拟服务配置有一个虚拟 IP 和多个端口。部署虚拟服务时,控制器会自动选择 ESX 服务器,启动服务引擎,并将其连接到正确的网络(端口组)。

只有在配置了第一个虚拟服务后,才能创建第一个服务引擎。所配置的任何后续虚拟服务均使用现有服务引擎。

每个虚拟服务器为 Tanzu Kubernetes Grid 集群提供一个第 4 层负载均衡器,类型为负载均衡器且具有不同的 IP 地址。分配给每个虚拟服务器的 IP 地址从配置控制器时为其提供的 IP 地址块中进行选择。

Avi Kubernetes Operator (AKO) 监视 Kubernetes 资源,并与 NSX Advanced Load Balancer Controller 通信以请求相应的负载均衡资源。Avi Kubernetes 操作者将在启用过程中安装到 主管 上。

有关详细信息,请参见安装和配置 NSX 和 NSX Advanced Load Balancer

图 5. 使用 NSXNSX Advanced Load Balancer Controller 进行 主管 网络连接
配置了 NSX 网络堆栈和 NSX Advanced Load Balancer 的 主管 的网络架构。
图 6. 使用 NSXNSX Advanced Load Balancer Controller 进行三区域 主管 网络连接
在三个区域上运行的具有 NSX 网络连接和 NSX Advanced Load Balancer Controller 的 主管 的网络架构。工作负载网络的分段跨所有三个区域。
重要说明:NSX 部署中配置 NSX Advanced Load Balancer Controller 时,请记住以下注意事项:
  • 无法在 vCenter Server 增强型链接模式部署中部署 NSX Advanced Load Balancer Controller。只能在单个 vCenter Server 部署中部署 NSX Advanced Load Balancer Controller。如果链接了多个 vCenter Server,则在配置 NSX Advanced Load Balancer Controller 时只能使用其中一个。
  • 无法在多层 Tier-0 拓扑中配置 NSX Advanced Load Balancer Controller。如果为 NSX 环境设置了多层 Tier-0 拓扑,则在配置 NSX Advanced Load Balancer Controller 时只能使用一个 Tier-0 网关。

使用 NSX 的网络连接配置方法

主管 使用固有的网络连接配置。配置使用 NSX 进行 主管 网络连接的方法有两种,这两种方法为单区域 主管 部署相同的网络模型: