帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
使用 AWS 负载均衡器控制器路由互联网流量
AWS负载均衡器控制器管理适用于 Kubernetes 集群的 AWS Elastic Load Balancer。您可以使用控制器将您的集群应用程序公开到互联网。控制器预调配指向集群服务或入口资源的 AWS 负载均衡器。换句话说,控制器创建一个指向集群中多个容器组(pod)的 IP 地址或 DNS 名称。
       
       
   控制器会监控 Kubernetes 入口或服务资源。作为响应,它会创建相应的 AWS 弹性负载均衡资源。您可以通过对 Kubernetes 资源应用注释来配置负载均衡器的特定行为。例如,您可以使用注释将 AWS 安全组附加到负载均衡器。
此控制器预置以下资源:
-  Kubernetes 
Ingress - 
            
LBC 会在您创建 Kubernetes
Ingress时创建 AWS 应用程序负载均衡器(ALB)。查看可以应用于入口资源的注释。 -  
LoadBalancer类型的 Kubernetes 服务 - 
            
LBC 将在您创建
LoadBalancer类型的 Kubernetes 服务时创建 AWS 网络负载均衡器(NLB)。查看可以应用于服务资源的注释。在过去,实例目标使用 Kubernetes 网络负载均衡器,而 IP 目标使用 LBC。现在,有了 AWS 负载均衡器控制器版本
2.3.0或更高版本,您可以使用任一目标类型创建 NLB。有关 NLB 目标类型的更多信息,请参阅 Network Load Balancer 用户指南中的目标类型。 
控制器是托管在 GitHub 上的开源项目
在部署控制器之前,我们建议您查看使用应用程序负载均衡器路由应用程序和 HTTP 流量和使用网络负载均衡器路由 TCP 和 UDP 流量中的先决条件和注意事项。在这些主题中,您将部署包含 AWS 负载均衡器的示例应用程序。
安装控制器
可以按照以下过程之一安装 AWS 负载均衡器控制器:
- 
            
如果您不熟悉 Amazon EKS,我们建议您使用 Helm 进行安装,因为它可以简化 AWS 负载均衡器控制器安装。有关更多信息,请参阅 使用 Helm 安装 AWS 负载均衡器控制器。
 - 
            
对于高级配置,例如对公有容器注册表具有有限网络访问权限的集群,请使用 Kubernetes 清单。有关更多信息,请参阅 使用清单安装 AWS 负载均衡器控制器。
 
从已弃用的控制器版本迁移
- 
            
如果您安装了已弃用的 AWS 负载均衡器控制器版本,请参阅从已弃用的 ALB 入口控制器迁移应用程序。
 - 
            
已弃用的版本无法升级。必须将其移除并安装最新版本的 AWS 负载均衡器控制器。
 - 
            
已弃用的版本包括:
- 
                  
适用于 Kubernetes 的 AWS ALB 入口控制器(简称“入口控制器”),是 AWS 负载均衡器控制器的前身。
 - 
                  
任何
0.1.版本的 AWS 负载均衡器控制器x 
 - 
                  
 
旧版云提供商
Kubernetes 包括 AWS 的旧版云提供商。旧版云提供商能够预置 AWS 负载均衡器,这与 AWS 负载均衡器控制器类似。传统云提供商创建经典负载均衡器。如果不安装 AWS 负载均衡器控制器,则 Kubernetes 将默认设置为使用旧版云提供商。您应该安装 AWS 负载均衡器控制器,避免使用旧版云提供商。
重要
在版本 2.5 及更高版本中,AWS 负载均衡器控制器成为 Kubernetes 服务资源的默认控制器(包含 type: LoadBalancer),并为每个服务创建了 AWS 网络负载均衡器(NLB)。为此它将为服务创建一个变异的 Webhook,对于新的 type: LoadBalancer 服务,后者会将 spec.loadBalancerClass 字段设置为 service.k8s.aws/nlb。您可以关闭此功能,然后将 Helm 图表值 enableServiceMutatorWebhook 设置为 false,从而恢复将 传统云提供商