vSphere with Tanzu 环境中,主管集群 可以使用 vSphere 网络连接堆栈或 VMware NSX-T Data Center™ 建立与 Kubernetes 控制平面虚拟机、服务和工作负载的连接。为 主管集群 配置 vSphere 网络连接堆栈时,集群中的所有主机都将连接到可建立与 Kubernetes 工作负载和控制平面虚拟机连接的 vSphere Distributed Switch。使用 vSphere 网络连接堆栈的 主管集群 需要使用 vCenter Server 管理网络上的负载均衡器建立与 DevOps 用户和外部服务的连接。配置了 VMware NSX-T Data Center™主管集群 使用该解决方案的基于软件的网络以及 NSX Edge 负载均衡器建立与外部服务和 DevOps 用户的连接。

使用 NSX-T Data Center 进行 主管集群 网络连接

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

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

下表列出了支持的 NSX-T Data Center 版本:
vSphere with Tanzu NSX-T Data Center
版本 7.0 Update 3 版本 3.0、3.0.x、3.1、3.1.1、3.1.2 和 3.1.3。
版本 7.0 Update 2 版本 3.0、 3.0.x、 3.1、 3.1.1 和 3.1.2。
版本 7.0 Update 1c 版本 3.0、3.0.x、3.1 和 3.1.1。
版本 7.0 Update 1 版本 3.0、3.0.1、3.0.1.1 和 3.0.2。
版本 7.0 版本 3.0。

以下部分介绍了安装和配置 vSphere with Tanzu 版本 7.0 Update 2 时的网络拓扑。有关从 vSphere with Tanzu 版本 7.0 Update 1 升级到版本 7.0 Update 2 的升级信息,请参见网络拓扑升级

图 1. 主管集群 网络连接
主管集群的网络连接。
  • NSX Container Plug-in (NCP) 提供 NSX-T Data Center 与 Kubernetes 之间的集成。NCP 的主要组件在容器中运行,并与 NSX Manager 和 Kubernetes 控制平面进行通信。NCP 监控对容器和其他资源的更改,并通过调用 NSX API 管理容器的网络资源,例如,逻辑端口、分段、路由器和安全组。

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

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

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

要了解有关 主管集群 网络的更多信息,请观看视频 vSphere 7 with Kubernetes 网络服务 - 第 1 部分 -主管集群

使用 NSX-T Data Center 的网络连接配置方法

主管集群 使用固有的网络配置。配置使用 NSX-T Data Center 进行 主管集群 网络连接的方法有两种,这两种方法均部署相同的网络模型:
  • 配置 主管集群 网络的最简单方法是使用 VMware Cloud Foundation SDDC Manager。有关详细信息,请参见 VMware Cloud Foundation SDDC Manager 文档。有关信息,请参见使用工作负载管理
  • 您还可以使用现有 NSX-T Data Center 部署或部署 NSX-T Data Center 的新实例来手动配置 主管集群 网络。有关详细信息,请参见为 vSphere with Tanzu 安装并配置 NSX-T Data Center

使用 vSphere Distributed Switch 进行 主管集群 网络连接

vSphere Distributed Switch 支持的 主管集群 使用分布式端口组作为命名空间的工作负载网络。

图 2. 使用 vSphere Distributed Switch 进行命名空间网络连接

使用 vSphere Distributed Switch 进行命名空间网络连接

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

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

有关更多信息,请参见《为 vSphere with Tanzu 配置 vSphere 网络连接和 NSX Advanced Load Balancer》和《安装并配置 HAProxy 负载均衡器》。