我在我的AWS EKS集群中运行了我的应用程序的部署和服务,通过添加以下注释 service.beta.kubernetes.io/aws-load-balancer-type,该服务公开为NLB类型的负载均衡器: nlb ,但是当我尝试通过将注释更改为 service.beta.kubernetes.io/aws-load-balancer-type:alb 将其切换到ALB时,它创建了一个经典的负载均衡器,这意味着没有考虑此注释,那么有什么方法可以在ALB上公开该服务吗?
答案 0 :(得分:3)
您需要使用ALB Ingress Controller。
用于Kubernetes的AWS ALB Ingress控制器是一个控制器,只要使用kubernetes.io/ingress.class在集群上创建Ingress资源,该控制器就会触发创建应用程序负载平衡器(ALB)和必要的支持AWS资源: alb注释。
这是git-repo,这是您可以在Ingress中添加的annotations,这是the helm chart,您可以根据需要部署它。
作为轶事,它很棒。唯一的缺点是,每个Ingress都会创建一个ALB。为了解决这个问题,我一直将merge-ingress-controller与它结合使用,这会为多个入口生成一个ALB。