【问题标题】:Azure Kubernetes Service: using an NGINX ingress controller with a Ocelot-based API gatewayAzure Kubernetes 服务:使用 NGINX 入口控制器和基于 Ocelot 的 API 网关
【发布时间】:2020-07-25 12:23:32
【问题描述】:
我计划部署到 AKS 集群并使用 NGINX 入口控制器,这样我的微服务将位于集群内部,而 NGINX 入口控制器将成为微服务的入口点。
我的一个微服务使用 Ocelot 库充当 API 网关,它实现了 BFF 模式。所以我的入口控制器将只有一条规则,它将向路径“/(.*)”发出的请求路由到 API 网关微服务。
我的问题是 - 这是使用入口控制器和 API 网关微服务的传统方式吗?不知何故,这感觉有些多余,尽管我认为两者都有不同的职责。
【问题讨论】:
标签:
kubernetes
kubernetes-ingress
azure-aks
【解决方案1】:
我认为在这种情况下您不需要 Ingress-Controller,我们使用一个 API Gateway,它是 Ambassador,我们只需为其 kubernetes 服务分配一个公共 IP。
如果您不希望其他 pod 使用 Ingress 对象公开自己,并且所有流量都将进入您的 API 网关,我会简单地删除 Ingress-controller 并为您的 API 网关 pod 启用 LoadBalancer 类型的服务