如果我们在Kubernetes中有自己的api网关,我们需要Ingress控制器吗

wko9yo5t  于 9个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(95)

差不多就是标题。

API-Gateway可以沿着额外的好处(Auth、日志、SSL终止等)。

现在,Ingress主要用于路由-但是,如果我们将API-Gateway部署为kubernetes集群本身的服务 *,那么API-gateway可以通过其他组件的路由器IP访问/路由到其他服务。
当然,一个面向外部的负载均衡器将在那里连接外部世界到我们的API网关

  • 那么我们需要单独的Ingress吗?
nimxete2

nimxete21#

正如Jenn Gile在TheNewStack的文章中提到的那样;
如果您需要在Kubernetes中使用API网关功能,通常最好选择可以使用本地Kubernetes配置工具(如YAML)进行配置的工具。通常,这是一个入口控制器或服务网格。但我们听到您说,“我的API网关工具比我的入口控制器功能多得多(或服务网格)。我不是错过了吗?”不!更多的功能并不等于更好的工具,特别是在Kubernetes中,工具的复杂性可能是一个杀手。
一个ingress控制器使一个Kubernetes服务暴露为一个LoadBalancer。为了简单的理解,你可以将ingress视为一个Nginx服务器,它只是根据规则将流量转发到服务。但是,ingress没有像API网关那样的功能。有些ingress不支持身份验证,速率限制,应用程序路由,安全性,虽然API网关也可以做简单的路由工作,但它主要用于您需要更高的灵活性,安全性和配置选项时。
API网关用于应用路由、速率限制、安全性、请求和响应、处理和其他与应用相关的任务。你有一个基于微服务的应用程序,其中请求需要从多个微服务收集信息。你需要一种方法来将用户请求分发到不同的服务,并从所有微服务收集响应,并准备发送给用户的最终响应。一个API网关就是为你做这类工作的网关。
在Kubernetes中同时使用Ingress控制器和API网关可以为组织实现业务提供灵活性。
您还可以参考Jenn Gile撰写的How Do I Choose? Api gateway vs. Ingress controller文档以了解更多详细信息。

相关问题