入口控制器与 api 网关

Pra*_*ain 12 kubernetes api-gateway

我想知道api gatewayIngress controller之间有什么区别。由于它们提供的相似功能,人们倾向于互换使用这些术语。当我说“入口控制器”时;不要将它与kubernetes 提供的Ingress对象混淆。此外,如果您能解释一个比另一个更有用的场景,那就太好了。

api 网关是云原生世界中用于流量路由器的通用术语,而“入口控制器”是 Kubernetes 世界中 api-gateway 的实现吗?

P E*_*ram 17

Ingress controller 允许单个 ip-port 通过 ingress 规则访问在 k8s 中运行的所有服务。入口控制器服务设置为负载均衡器,因此可以从公共互联网访问。

api 网关用于应用程序路由、速率限制、安全、请求和响应处理以及其他与应用程序相关的任务。假设您有一个基于微服务的应用程序,其中请求需要从多个微服务收集信息。您需要一种方法将用户请求分发到不同的服务并收集来自所有微服务的响应并准备要发送给用户的最终响应。API Gateway 就是为您完成此类工作的网关。


Har*_*var 10

入口

Ingress 管理流量并将其路由到 Kubernetes 服务中。

Ingress 规则/配置 yaml并由Ingress 控制器支持(Nginx 入口控制器著名的一个)

Ingress 控制器使用该服务创建一个Kubernetes服务,并将其公开为LoadBalancer

在此输入图像描述

ingrss 控制器的其他列表:https ://kubernetes.io/docs/concepts/services-networking/ingress-controllers/

为了简单理解,你可以将ingress视为Nginx服务器,它只是根据规则集将流量转发到服务。

ingress 没有像 API 网关那样的太多功能。一些入口不支持身份验证、速率限制、应用程序路由、安全性、合并响应和请求以及其他附加组件/插件选项。

API网关

API网关还可以完成简单路由的工作,但它主要在您需要更高的灵活性、安全性和配置选项时使用。

当您选择 Ingress 或 API 网关时,有很多参数需要比较,但这更多取决于您的用例。

像 KrakenD、Kong 这样的 API 网关比 Ingress 更好,具有Oauth插件、API 密钥选项等安全集成,它支持速率限制API 聚合

Kong API 网关还有一个很好的插件选项,如果您还想配置流量日志记录/监控,可以使用它。

市场上有很多与入口控制器相同的 API 网关,您可以在下面查看 API 网关的功能和比较。

在此输入图像描述

了解更多信息:https://medium.com/@harsh.manvar111/api-gateway-identity-server-comparison-ec439468cc8a

如果您的用例很小并且确定要求,您也可以将入口用于生产 API 网关,这是没有必要的。