如何在 aws 上为 kubernetes 创建应用程序负载均衡器

How to create application load balancer on aws for kubernetes

问题类似于以下SO问题。但我并不期待创建经典的负载均衡器。

AWS 现在提供两种类型的负载均衡器,经典负载均衡器和应用程序负载均衡器。请阅读以下文档以获取更多信息,

https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/

我已经知道经典负载均衡器如何与 kubernetes 一起工作。我想知道是否存在任何标志/工具,以便我们也可以配置应用程序负载均衡器。

我可以告诉您,从 K8 v1.2.3/4 开始,没有对应用程序负载均衡器的内置支持。

也就是说,我所做的是通过服务 NodePort 公开内部负载平衡 pods。然后,您可以实施任何类型的 AWS 负载平衡,包括新的应用程序负载平衡功能,例如基于内容的路由,方法是设置您自己的 AWS ALB,将 URL 路径(如 /blog)指向特定的 NodePort .

您可以在此处阅读有关 NodePorts 的更多信息:http://kubernetes.io/docs/user-guide/services/#type-nodeport

为了奖励积分,您可以通过类似 BOTO3 的脚本创建 ALB,并在您配置 K8 时配置它 services/pods/rc。

已构建 AWS ALB 入口控制器,您可以在 GitHub 上找到它:https://github.com/coreos/alb-ingress-controller