为 GKE On-Prem 设置负载平衡器

GKE On-Prem 集群可以通过两种负载平衡模式之一运行:集成或手动。使用集成式模式时,GKE On-Prem 集群将使用 F5 BIG-IP 负载平衡器。在手动模式下,GKE On-Prem 将使用您选择的其他负载平衡器。手动负载平衡模式要求您进行比集成式模式更多的配置。

本主题介绍如何预留 IP 地址和 nodePort 值供以后使用。您可以选择要用于负载平衡和集群节点的 IP 地址和 nodePort 值。但是,此时您不会对地址和 nodePort 值执行任何操作。稍后,当您准备好安装 GKE On-Prem 时,需要使用地址和 nodePort 值来填充集群配置文件。

预留虚拟 IP 地址

无论您使用集成还是手动模式,都必须预留一些虚拟 IP 地址 (VIP) 以用于负载平衡。使用集成式模式时,您可以在集群配置文件中指定这些 VIP,GKE On-Prem 会自动将 F5 BIG-IP 负载平衡器配置为使用 VIP。使用手动模式时,必须手动将负载平衡器配置为使用 VIP。

对于管理员集群,您必须预留以下 VIP 地址:

  • Kubernetes API 服务器的 VIP 地址
  • Ingress 服务的 VIP 地址

对于要创建的每个用户集群,您必须预留以下 VIP 地址:

  • Kubernetes API 服务器的 VIP 地址
  • Ingress 服务的 VIP 地址

如果您打算在管理员集群中使用插件,则必须为管理员集群中的插件服务预留一个 VIP 地址。

对于要使用插件的每个用户集群,您必须为该用户集群中的插件服务预留一个 VIP 地址。

例如,假设您打算使用两个用户集群,并且打算在所有集群中使用插件。那么,您的管理员集群需要三个 VIP 地址,每个用户集群需要三个 VIP 地址。因此,您需要预留九个 VIP 地址。

预留节点 IP 地址

在集成模式下,您可以使用现有的动态主机配置协议 (DHCP) 服务器为您的集群节点提供 IP 地址,也可以为节点指定静态 IP 地址。在手动模式下,您无法使用 DHCP。您必须为节点指定静态 IP 地址。

如果您选择使用静态 IP 地址,则必须为管理员集群中的节点和要创建的所有用户集群中的节点预留足够的地址。如需详细了解要预留的节点 IP 地址数量,请参阅配置静态 IP 地址

预留 nodePort

在 GKE On-Prem 集群中,Kubernetes API 服务器、Ingress 服务和插件服务是作为 NodePort 类型的 Kubernetes 服务实现的。使用集成式负载平衡模式时,GKE On-Prem 会自动为这些服务选择 nodePort 值。使用手动负载平衡模式时,您必须指定要用于这些服务的 nodePort 值。如需了解详情,请参阅预留 nodePort

配置负载平衡器

使用集成式负载平衡模式时,GKE On-Prem 会自动使用您在集群配置文件中指定的 VIP 配置 F5 BIG-IP 负载平衡器。使用手动模式时,您必须使用自己选择的 VIP 配置负载平衡器。负载平衡器的配置方式取决于您使用的负载平衡器。如需了解详情,请参阅启用手动负载平衡

负载平衡准备摘要

下表总结了在集成模式和手动模式下准备负载平衡时必须执行的操作:

集成模式手动模式
在创建集群之前选择 VIP 地址。必须执行必须执行
在创建集群之前选择节点 IP 地址。无需执行(如果使用 DHCP)。
必须执行(如果使用静态 IP 地址)。
必须执行
在创建集群之前选择 nodePort 值。无需执行必须执行
手动配置负载平衡器无需执行必须执行

在集群中创建服务

在您的用户集群运行之后,您可能希望创建 Kubernetes Service 并将其公开给外部客户端。

无论您使用的是集成负载平衡模式还是手动负载平衡模式,都可以使用 Ingress 对象将 Service 公开给外部客户端。

使用集成式负载平衡模式时,可以创建类型为 LoadBalancer 的服务,并为服务指定 VIP。GKE On-Prem 会自动在 F5 BIG-IP 负载平衡器上配置 VIP。

使用手动负载平衡模式时,不能将 LoadBalancer 类型的服务公开给外部客户端。相反,您可以按照以下步骤将 Service 公开给外部客户端:

  • 创建类型为 NodePort 的 Service。

  • 为您的 Service 选择 VIP 地址。

  • 手动配置负载平衡器,以便将发送到 VIP 地址的流量转发到您的 Service。

下表总结了您可以在集成模式和手动模式下公开的 Service 种类:

集成模式手动模式
使用 Ingress 对象将 Service 公开给外部客户端。
将类型为 ClusterIP 的 Service 公开给内部客户端。
将类型为 NodePort 的 Service 公开给外部客户端。
将类型为 LoadBalancer 的 Service 公开给外部客户端。

后续步骤