在部署到Kubernetes集群的微服务环境中,如果Kubernete提供Ingress相同的服务,我们为什么要使用API网关(例如Spring云网关(?
Ingress控制器制作了一个Kubernetes服务,该服务被公开为LoadBalancer。为了简单理解,您可以将Ingress视为Nginx服务器,它只是根据规则将流量转发到服务。Ingress没有API网关那样多的功能。一些ingress不支持身份验证、速率限制、应用程序路由、安全性、合并响应&请求和其他附加组件/插件选项。
API网关也可以完成简单的路由工作,但它主要用于需要更高灵活性、安全性和配置选项的情况。虽然多个团队或项目可以共享一组Ingress控制器,或者Ingress控制器可以在每个环境的基础上专门化,但您可能会选择在Kubernetes内部部署专用的API网关,而不是利用现有的Ingress控制器。在Kubernetes中同时使用Ingress控制器和API网关可以为组织实现业务需求提供灵活性
用于访问数据库
如果这个数据库和集群在云中的某个地方,您可以使用内部数据库IP。如果没有,则应提供承载此数据库的计算机的IP。
您也可以参考这篇Kubernetes Access External Services的文章。