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

GKE On-Prem 集群可以在以下三种负载平衡模式之一下运行:集成模式、捆绑模式或手动模式。使用集成式模式时,GKE On-Prem 集群将使用 F5 BIG-IP 负载平衡器。 使用捆绑式模式时,GKE On-Prem 提供和管理负载平衡器。您无需获得负载平衡器许可,并且只需执行最基本的设置步骤。 在手动模式下,GKE On-Prem 将使用您选择的其他负载平衡器。手动负载平衡模式要求您进行比集成模式更多的配置。

如果您选择使用 F5 BIG-IP 负载平衡器,则需要拥有有充分权限设置和管理负载平衡器的用户角色。Administrator 角色或 Resource Administrator 角色足够。如需了解详情,请参阅 F5 BIG-IP 帐号权限

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

预留虚拟 IP 地址

无论采用哪种负载平衡模式,您都必须预留几个虚拟 IP 地址 (VIP) 以用于负载平衡。通过集成式模式和捆绑模式,您可在集群配置文件中指定这些 VIP,GKE On-Prem 会自动配置 F5 BIG-IP 或 Seesaw 数据平衡器以使用 VIP。使用手动模式时,必须手动将负载平衡器配置为使用 VIP。

对于管理员集群,您必须预留此 VIP:

  • Kubernetes API 服务器的 VIP

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

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

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

例如,假设您打算使用两个用户集群,并且打算使用插件。那么,您的管理员集群需要两个 VIP,每个用户集群需要两个 VIP。因此,您需要预留六个 VIP。

预留节点 IP 地址

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

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

预留 nodePort

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

配置负载平衡器

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

负载平衡准备摘要

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

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

在集群中创建服务

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

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

通过集成或捆绑式负载平衡模式,您可以创建 LoadBalancer 类型的 Service,并为 Service 指定 VIP。GKE On-Prem 会自动在负载平衡器上配置 VIP。

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

  • 创建类型为 NodePort 的 Service。

  • 为您的 Service 选择 VIP 地址。

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

下表总结了您可以在不同模式下公开的 Service 的种类:

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

后续步骤