如何在 AWS EKS 中将服务类型更改为 ALB?

How to change service type to ALB in AWS EKS?

我在我的 AWS EKS 集群中有我的应用程序 运行 的部署和服务,通过添加此注释 service.beta.kubernetes.[= 将服务公开为 NLB 类型的负载均衡器16=]: nlb 然而,当我试图通过将注释更改为 service.beta.kubernetes.io/aws-load-balancer-type: alb 将其切换到 ALB 时,它创建了一个classic loadbalancer 这意味着不考虑此注释,那么有什么方法可以在 ALB 上公开服务吗?

您需要使用 ALB Ingress Controller

The AWS ALB Ingress Controller for Kubernetes is a controller that triggers the creation of an Application Load Balancer (ALB) and the necessary supporting AWS resources whenever an Ingress resource is created on the cluster with the kubernetes.io/ingress.class: alb annotation.

这是 git-repo, and these are the annotations you can include on your Ingress, and this is the helm chart 如果您愿意,可以用来部署它。

作为轶事,效果很好。唯一的缺点是它为每个 Ingress 创建一个 ALB。为了解决这个问题,我一直在结合使用 merge-ingress-controller,这导致一个 ALB 用于多个入口。