在 vSphere IaaS control plane 环境中,主管 可以使用 vSphere 网络堆栈或 NSX 建立与 主管 控制平面虚拟机、服务和工作负载的连接。
为 主管 配置 vSphere 网络堆栈时,主管 中的所有主机都将连接到可提供与工作负载和 主管 控制平面虚拟机的连接的 VDS。使用 vSphere 网络连接堆栈的 主管 需要使用 vCenter Server 管理网络上的负载均衡器建立与 DevOps 用户和外部服务的连接。
- 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。
在三区域 主管 中,在三个 vSphere 区域上部署 主管,每个区域都将映射到一个 vSphere 集群。这些 vSphere 集群中的所有主机都必须连接到同一个 VDS。所有物理服务器都必须连接到 L2 设备。为命名空间配置的工作负载网络跨所有三个 vSphere 区域。
使用 NSX 进行 主管 网络连接
NSX 为 主管 中的对象与外部网络提供网络连接。集群中包含的 ESXi 主机的连接由标准 vSphere 网络处理。
您还可以使用现有 NSX 部署或部署 NSX 的新实例来手动配置 主管 网络。
有关详细信息,请参见安装和配置 NSX for vSphere IaaS control plane。
- 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 Pod 或 Tanzu 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 物理设备。
使用 NSX 和 NSX Advanced Load Balancer 进行 主管 网络连接
NSX 为 主管 中的对象与外部网络提供网络连接。配置了 NSX 的 主管 可以使用 NSX Edge 或 NSX Advanced Load Balancer。
NSX Advanced Load Balancer 的组件包括 NSX Advanced Load Balancer Controller 集群、服务引擎(数据平面)虚拟机和 Avi Kubernetes Operator (AKO)。
NSX Advanced Load Balancer Controller 与 vCenter 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。
- 无法在 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 的网络连接配置方法
- 配置 主管 网络的最简单方法是使用 VMware Cloud Foundation SDDC Manager。有关详细信息,请参见 VMware Cloud Foundation SDDC Manager 文档。有关信息,请参见 VMware Cloud Foundation 管理指南。
- 您还可以使用现有 NSX 部署或部署 NSX 的新实例来手动配置 主管 网络。有关详细信息,请参见安装和配置 NSX for vSphere IaaS control plane。