如何将 nginx 入口控制器与 alb 一起使用?

问题描述 投票:0回答:1

我正在对 Kubernetes 集群进行新的设置。我在 Pod 中运行的微服务很少。现在,我想根据这些服务的路径来路由。例如:domain.com/order 应该将我重定向到 orderservice pod,domain.com/customer 应该将我重定向到 customerservice pod。

最初,我使用 ALB 入口控制器完成了整个设置,但问题是遗憾的是 alb 仍然不支持重写 url。这意味着,如果我将 url 设置为 domain.com/order 以重定向到 orderservice pod,那么最终的 url 应变为 domain.com/swagger/index.html,但这不起作用,因为没有重写功能。

然后我转向

nginx 入口控制器。我已经完成了入口控制器设置,但它没有与 alb 集成。它只能与经典负载均衡器(很快就会被贬值)或通过在第 4 层工作的 nlb 集成,但是我想将它与实际上在应用程序层(第 7 层)上工作的 alb 集成,以进行一些额外的配置和统计数据。

我找不到任何方法在AWS中完成如此简单的任务。我想知道市场上的每个人如果想使用 nginx 作为 AWS 的入口控制器和第 7 层负载均衡器,实际使用的是什么?

amazon-web-services kubernetes nginx kubernetes-ingress nginx-ingress
1个回答
0
投票
当我有 NLB -> Nginx Ingress -> Pod 时,我通常会遵循这种方法。 我可以使用 Prometheus 从 Nginx Ingress 收集所有指标。 此外,NLB 可以为您终止 TLS,您可以通过注释分配适当的 ACM 证书

arn

。当然,如果您需要全程 TLS,您可以使用 Certbot 在 EKS 内颁发证书。
使用 NLB 还有更多优点:

    它能够处理更多流量
  • 您可以将其用于 Websockets 和其他非 HTTP 协议 唯一的缺点是您无法将 WAF 连接到 NLB,并且需要在其后面添加 ALB 或 CloudFront。另一种解决方法是在 Nginx Ingress 级别配置 mod_security,而不是使用 AWS WAF。
© www.soinside.com 2019 - 2024. All rights reserved.