如何使用nginx ingress控制器与alb?

hwamh0ep  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(163)

我正在做一个新的Kubernetes集群设置。我有几个微服务运行在吊舱。现在,我想路由这些服务的基础上,他们的路径。例如:domain.com/order应该将我重定向到orderservice pod,domain.com/customer应该将我重定向到customerservice pod。

最初,我使用ALB ingress controller进行了整个设置,但问题是,遗憾的是alb仍然不支持重写url。这意味着,如果我有我的网址为domain.com/order重定向到orderservice pod,那么最终的网址应该成为domain.com/swagger/index.html,但这不起作用,因为没有重写功能。
然后我转向了
nginx ingress controller**。我已经做了入口控制器设置,但它不与ALB集成。它只能与经典的负载均衡器(很快就会贬值)集成,或者通过工作在第4层的nlb,但是我想将它与alb集成,alb实际上工作在应用层(第7层),用于一些额外的配置和统计。
我无法在AWS中找到任何方法来实现如此简单的任务。我想知道市场上的每个人都在使用什么,如果他们想使用nginx作为AWS的入口控制器和第7层负载均衡器?

dohp0rv5

dohp0rv51#

我通常遵循的方法,当我有NLB -> Nginx Ingress -> Pod。我可以从Nginx Ingress与Prometheus收集的所有指标。此外,NLB能够为您终止TLS,您可以通过注解分配适当的ACM证书arn。当然,如果你需要贯穿整个TLS,你可以使用Certbot在EKS内部颁发证书。使用NLB还有更多优点:

  • 它能够处理更多的流量
  • 唯一的缺点是,你不能将WAF连接到NLB,需要在它或CloudFront之后使用ALB。另一种解决方法是在Nginx Ingress级别配置mod_security,而不是使用AWS WAF。

相关问题