Anthos clusters on VMware (GKE On-Prem) 可以通过以下三种方式之一运行负载均衡器:集成式、捆绑式或手动。在集成式选项中,Anthos clusters on VMware 集群使用 F5 BIG-IP 负载均衡器。
使用捆绑式选项时,Anthos clusters on VMware 提供并管理负载均衡器。您无需获得负载平衡器许可,并且只需执行最基本的设置步骤。
捆绑式负载均衡的优势
与手动负载均衡相比,捆绑式负载均衡具有以下优势:
单个团队可同时负责集群创建和负载平衡器配置。例如,集群管理团队无需依赖独立的网络团队来提前获取、运行和配置负载平衡器。
Anthos Clusters on VMware 会自动在负载平衡器上配置虚拟 IP 地址(VIP 地址)。创建集群时,Anthos Clusters on VMware 会为负载平衡器配置 Kubernetes API 服务器、Ingress 服务和集群插件的 VIP 地址。当客户端创建 LoadBalancer 类型的 Service 时,Anthos Clusters on VMware 会自动在负载平衡器上配置 Service VIP 地址。
降低了组织、群组和管理员之间的依赖性。具体来说,管理集群的群组对管理网络的群组的依懒性更低。
通过手动选项,Anthos clusters on VMware 使用您选择的其他负载均衡器。手动负载均衡要求您进行比集成式选项更多的配置。
如果您选择使用 F5 BIG-IP 负载平衡器,则需要拥有有充分权限设置和管理负载平衡器的用户角色。Administrator 角色或 Resource Administrator 角色足够。如需了解详情,请参阅 F5 BIG-IP 帐号权限。
本主题介绍如何预留 IP 地址和 nodePort
值供以后使用。您可以选择要用于负载平衡和集群节点的 IP 地址和 nodePort
值。但是,此时您不会对地址和 nodePort
值执行任何操作。稍后,当您准备好安装 Anthos clusters on VMware 时,需要使用地址和 nodePort
值来填充集群配置文件。
预留虚拟 IP 地址
无论采用哪种负载均衡方法,您都必须预留几个虚拟 IP 地址(VIP 地址)以用于负载均衡。借助集成式和捆绑式负载平衡,您可以在集群配置文件中指定这些 VIP 地址,Anthos clusters on VMware 会自动将 F5 BIG-IP、MetalLB 或 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 地址的数量,请参阅创建管理员集群。
预留 nodePort
值
在 Anthos clusters on VMware 集群中,Kubernetes API 服务器、入站服务和插件服务是作为 NodePort
类型的 Kubernetes Service 实现的。在集成或捆绑负载均衡下,Anthos clusters on VMware 会自动为这些 Service 选择 nodePort
值。在手动负载均衡下,您必须指定要用于这些 Service 的 nodePort
值。如需了解详情,请参阅预留 nodePort
值。
配置负载平衡器
在集成式或捆绑式负载均衡下,Anthos clusters on VMware 会自动使用您在集群配置文件中指定的 VIP 配置负载均衡器。使用手动负载均衡时,您必须使用自己选择的 VIP 地址配置负载均衡器。负载平衡器的配置方式取决于您使用的负载平衡器。如需了解详情,请参阅启用手动负载平衡。
负载平衡准备摘要
下表总结了准备集成式和手动负载均衡时必须执行的操作:
集成式/捆绑式 | 手动 | |
---|---|---|
在创建集群之前选择 VIP 地址。 | 必须执行 | 必须执行 |
在创建集群之前选择节点 IP 地址。 | 无需执行(如果使用 DHCP)。 必须执行(如果使用静态 IP 地址)。 | 必须执行 |
在创建集群之前选择 nodePort 值。 | 无需执行 | 必须执行 |
手动配置负载平衡器 | 无需执行 | 必须执行 |
在集群中创建服务
在您的用户集群运行之后,您可能希望创建 Kubernetes Service 并将其公开给外部客户端。
无论您使用的是集成式、捆绑式还是手动负载均衡,都可以使用 Ingress 对象将 Service 公开给外部客户端。
通过集成式或捆绑式负载均衡,您可以创建 LoadBalancer
类型的 Service,并为 Service 指定 VIP。Anthos clusters on VMware 会自动在负载平衡器上配置 VIP。
在手动负载均衡下,您无法将 LoadBalancer
类型的 Service 公开给外部客户端。相反,您可以按照以下步骤将 Service 公开给外部客户端:
创建类型为 NodePort 的 Service。
为您的 Service 选择 VIP 地址。
手动配置负载平衡器,以便将发送到 VIP 地址的流量转发到您的 Service。
下表总结了您可以使用不同的负载均衡选项公开的 Service 种类:
集成式/捆绑式 | 手动 | |
---|---|---|
使用 Ingress 对象将 Service 公开给外部客户端。 | 是 | 是 |
将类型为 ClusterIP 的 Service 公开给内部客户端。 | 是 | 是 |
将类型为 NodePort 的 Service 公开给外部客户端。 | 是 | 是 |
将类型为 LoadBalancer 的 Service 公开给外部客户端。 | 是 | 否 |
后续步骤
- 使用 MetalLB 进行捆绑式负载均衡
- 使用 Seesaw 进行捆绑式负载均衡
- 启用手动负载平衡
- 为 Anthos clusters on VMware 安装 F5 BIG-IP ADC
- 使用手动负载平衡为 Anthos clusters on VMware 安装 F5 BIG-IP ADC
- 使用 Citrix 进行负载平衡