本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

第4层和第7层负载均衡

Kubernetes支持两种负载均衡方式:第4层负载均衡和第7层负载均衡。

第4层负载均衡器

第4层负载均衡器(或外部负载均衡器)将流量转发到Nodeports。第4层负载均衡器允许您转发HTTP和TCP流量。

可以使用非云负载均衡器(如 MetalLB.)部署集群。然而,该用例比云提供商支持的第4层负载均衡器更为复杂,并且在Rancher中不可配置。

对第4层负载均衡的支持

对第4层负载均衡器的支持因底层云提供商而异。

集群部署 第4层负载均衡器支持

Amazon EKS

由AWS云提供商支持

Google GKE

由GCE云提供商支持

Azure AKS

由Azure云提供商支持

第三方MetalLB

第三方Ingress*

第7层负载均衡器

第7层负载均衡器(或入口控制器)支持基于主机和路径的负载均衡以及SSL终止。第7层负载均衡器仅转发HTTP和HTTPS流量,因此它们只侦听80和443端口。亚马逊和谷歌等云提供商支持第7层负载均衡器。

对第7层负载均衡的支持

对第7层负载均衡器的支持因底层云提供商而异。

集群部署 第7层负载均衡器支持

Amazon EKS

由AWS云提供商支持

Google GKE

由GKE云提供商支持。

Azure AKS

不支持

第7层负载均衡器中的主机名

一些云管理的第7层负载均衡器(例如AWS上的ALB入口控制器)为入口规则公开DNS地址。您需要将您的域名通过CNAME映射到第7层负载均衡器生成的DNS地址。

其他第7层负载均衡器,例如谷歌负载均衡器,直接公开一个或多个IP地址。谷歌负载均衡器提供一个可路由的单一IP地址。您可以执行以下操作之一:

  1. 配置您自己的DNS,通过A记录将您的域名映射到第7层负载均衡器公开的IP地址。

  2. 请求Rancher为您的入口规则生成一个xip.io主机名。Rancher将选择您公开的一个IP,例如`a.b.c.d`,并生成主机名`<ingressname>.<namespace>.a.b.c.d.xip.io`。

使用xip.io的好处是,在您创建入口规则后,您可以立即获得一个可用的入口URL。另一方面,设置您自己的域名需要您配置DNS服务器并等待DNS传播。