VMware 提供了开源 HAProxy 负载均衡器的实现,您可以在 vSphere IaaS control plane 环境中使用。如果对工作负载管理使用 vSphere Distributed Switch (vDS) 网络连接,则可以安装并配置 HAProxy 负载均衡器。

主管 创建要与 HAProxy 负载均衡器配合使用的 vSphere Distributed Switch

要将 vSphere 集群配置为使用 vSphere 网络堆栈和 HAProxy 负载均衡器的 主管,必须将主机添加到 vSphere Distributed Switch。您必须在将作为工作负载网络配置到 主管 的分布式交换机上创建端口组。

您可以为 主管 选择不同的拓扑,具体取决于要提供给将在集群上运行的 Kubernetes 工作负载的隔离级别。

前提条件

过程

  1. vSphere Client 中,导航到数据中心。
  2. 右键单击该数据中心,然后选择 Distributed Switch > 新建 Distributed Switch
  3. 输入交换机的名称,例如工作负载 Distributed Switch,然后单击下一步
  4. 为交换机选择版本 7.0,然后单击下一步
  5. 端口组名称中,输入主工作负载网络,单击下一步,然后单击完成
    此时将在数据中心上创建一个具有一个端口组的新 Distributed Switch。您可以使用此端口组作为将要创建的 主管 的主工作负载网络。主工作负载网络处理 Kubernetes 控制平面虚拟机的流量。
  6. 为工作负载网络创建分布式端口组。
    您创建的端口组数取决于要为 主管 实施的拓扑。对于具有一个隔离工作负载网络的拓扑,请创建一个分布式端口组,将其用作 主管 上所有命名空间的网络。对于每个命名空间都具有隔离网络的拓扑,请创建与将要创建的命名空间数相同的端口组数。
    1. 导航到新创建的 Distributed Switch。
    2. 右键单击该交换机,然后选择分布式端口组 > 新建分布式端口组
    3. 输入端口组的名称,例如工作负载网络,然后单击下一步
    4. 保留默认值,单击下一步,然后单击完成
  7. 将要配置为 主管 的 vSphere 集群中的主机添加到 Distributed Switch。
    1. 右键单击分布式交换机,然后选择添加和管理主机
    2. 选择添加主机
    3. 单击新主机,从要配置为 主管 的 vSphere 集群中选择主机,然后单击下一步
    4. 从每个主机中选择一个物理网卡,并为其分配 Distributed Switch 上的上行链路。
    5. 在向导的其余屏幕上单击下一步,然后单击完成

结果

这些主机将添加到 Distributed Switch。现在,您可以将在交换机上创建的端口组用作 主管 的工作负载网络。

部署 HAProxy 负载均衡器控制平面虚拟机

如果要对 Kubernetes 工作负载使用 vSphere 网络堆栈,请安装 HAProxy 控制平面虚拟机,以便向 Tanzu Kubernetes 集群提供负载均衡服务。

前提条件

查看如何使用具有 vDS 网络连接和 HAProxy 的 vSphere IaaS control plane 演示可能很有帮助。观看视频开始使用 vSphere with Tanzu

过程

  1. 使用 vSphere Client 登录 vCenter Server
  2. 从 HAProxy OVA 文件创建新的虚拟机。
    选项 描述
    内容库 如果已将 OVA 导入到本地内容库中:
    • 转至菜单 > 内容库
    • 选择导入了 OVA 的库。
    • 选择 vmware-haproxy-vX.X.X 模板。
    • 右键单击并选择从此模板新建虚拟机
    本地文件

    如果您已将 OVA 文件下载到本地主机:

    • 选择将在其中启用工作负载管理的 vCenter 集群。
    • 右键单击并选择部署 OVF 模板
    • 选择本地文件,然后单击上载文件
    • 浏览并选择 vmware-haproxy-vX.X.X.ova 文件。
  3. 输入虚拟机名称,例如 haproxy
  4. 选择要部署 HAProxy 的数据中心,然后单击下一步
  5. 选择将在其中启用工作负载管理的 vCenter 集群,然后单击下一步
  6. 查看并确认部署详细信息,然后单击下一步
  7. 接受许可协议,然后单击下一步
  8. 选择部署配置。请参见vSphere IaaS 控制平面概念和规划中的 HAProxy 网络拓扑。了解详细信息。
    配置 描述
    默认 选择此选项可部署具有 2 个网卡的设备:一个管理网络和一个工作负载网络。
    前端网络 选择此选项可部署具有 3 个网卡的设备。前端子网用于将集群节点与开发人员用来访问集群控制平面的网络隔离开来。
  9. 选择要用于虚拟机的存储策略,然后单击下一步
  10. 选择要用于负载均衡器的网络接口,然后单击下一步
    源网络 目标网络
    管理 选择管理网络,例如虚拟机网络
    工作负载 选择为工作负载管理配置的 vDS 端口组。
    前端 选择为前端子网配置的 vDS 端口组。如果未选择前端配置,安装期间将忽略此设置,以保留默认设置。
    注: 工作负载网络必须与管理网络位于不同的子网上。请参见 vSphere IaaS 控制平面概念和规划中的 启用具有 HA 代理负载均衡器的三区域主管的要求启用具有 VDS 网络连接和 HAProxy 负载均衡器的单集群主管的要求
  11. 自定义应用程序配置设置。请参见设备配置设置
  12. 提供网络配置详细信息。请参见网络配置
  13. 配置负载均衡。请参见负载均衡设置
  14. 单击下一步完成 OVA 配置。
  15. 查看部署配置详细信息,然后单击完成以部署 OVA。
  16. 使用任务面板监控虚拟机的部署。
  17. 虚拟机部署完成后,打开其电源。

下一步做什么

在成功部署 HAProxy 负载均衡器并打开电源后,继续启用 工作负载管理。请参见 配置和管理 主管

自定义 HAProxy 负载均衡器

自定义 HAProxy 控制平面虚拟机,包括配置设置、网络设置和负载均衡设置。

设备配置设置

下表列出并描述了 HAProxy 设备配置的参数。
参数 描述 注释或示例
root 密码 root 用户的初始密码(6-128 个字符)。 后续密码更改必须在操作系统中执行。
允许 Root 用户登录

允许 root 用户通过 SSH 远程登录虚拟机的选项。

执行故障排除可能需要 root 用户登录,但请记住允许该选项的安全影响。
TLS 证书颁发机构 (ca.crt)

要使用自签名 CA 证书,请将此字段留空。

要使用您自己的 CA 证书 (ca.crt),请将其内容粘贴到此字段中。

您可能需要对内容进行 Base64 编码。https://www.base64encode.org/

如果您使用的是自签名 CA 证书,则将从证书生成公钥和私钥。

秘钥 (ca.key)

如果使用的是自签名证书,请将此字段留空。

如果您提供了 CA 证书,请在此字段中粘贴证书私钥的内容。

网络配置

下表列出并描述了 HAProxy 网络配置的参数。
参数 描述 注释或示例
主机名称 要分配给 HAProxy 控制平面虚拟机的主机名(或 FQDN) 默认值:haproxy.local
DNS DNS 服务器 IP 地址的逗号分隔列表。

默认值:1.1.1.1, 1.0.0.1

示例值:10.8.8.8

管理 IP

管理网络上的 HAProxy 控制平面虚拟机的静态 IP 地址。

具有网络前缀长度的有效 IPv4 地址,例如:192.168.0.2/24

管理网关

管理网络的网关的 IP 地址。

例如:192.168.0.1

工作负载 IP

工作负载网络上 HAProxy 控制平面虚拟机的静态 IP 地址。

此 IP 地址必须在负载均衡器 IP 地址范围之外。

具有网络前缀长度的有效 IPv4 地址,例如:192.168.10.2/24

工作负载网关

工作负载网络的网关的 IP 地址。

例如:192.168.10.1

如果选择前端配置,则必须输入网关。如果选择“前端”且未指定网关,部署将不会成功。

前端 IP

前端网络上 HAProxy 设备的静态 IP 地址。

仅当选择了前端部署模型时,才能使用此值。

具有网络前缀长度的有效 IPv4 地址,例如:192.168.100.2/24

前端网关

前端网络的网关的 IP 地址。

仅当选择了前端部署模型时,才能使用此值。

例如:192.168.100.1

负载均衡设置

下表列出并描述了 HAProxy 负载均衡器配置的参数。
参数 描述 示例或注释
负载均衡器 IP 范围

在此字段中,您可以使用 CIDR 格式指定 IPv4 地址范围。指定的值必须是有效的 CIDR 范围,否则安装将失败。

HAProxy 会为虚拟 IP (VIP) 预留 IP 地址。分配后,即会分配每个 VIP 地址,HAProxy 会回复该地址上的请求。

您在此处指定的 CIDR 范围不得与您在 vCenter Server 中使用 vSphere Client 启用 工作负载管理时为虚拟服务器分配的 IP 重叠。
注: 负载均衡器 IP 范围必须位于与管理网络不同的子网。不支持将负载均衡器 IP 范围设置为位于与管理网络相同的子网。

例如,网络 CIDR 192.168.100.0/24 为负载均衡器指定了 256 个虚拟 IP 地址,范围为 192.168.100.0 - 192.168.100.255

例如,网络 CIDR 192.168.100.0/25 为负载均衡器指定了 128 个虚拟 IP 地址,范围为 192.168.100.0 - 192.168.100.127

数据平面 API 管理端口

负载均衡器的 API 服务侦听的 HAProxy 虚拟机端口。

有效的端口。端口 22 是为 SSH 预留的。默认值是 5556

HAProxy 用户 ID

负载均衡器 API 用户名

客户端用于对负载均衡器的 API 服务进行身份验证的用户名。

注: 启用 主管 后,您需要此用户名。
HAProxy 密码

负载均衡器 API 密码

客户端用于对负载均衡器的 API 服务进行身份验证的密码。

注: 启用 主管 后,您需要此密码。