如何使前端应用程序与后端应用程序通信,而不会为后端创建入口

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

我使用kops部署了kubernetes集群。当前群集使用nginx入口控制器,该控制器在AWS中创建经典的负载均衡器。我有一些后端应用程序与前端应用程序和一些只是相互通信的后端服务进行通信。问题在于目前使前端应用程序与后端应用程序通信的唯一方法是为后端应用程序创建入口,因为前端通过域名发送请求,因为它不了解内部服务名称。对于后端,它很好,因为它们只能通过使用服务名称和它们各自的端口进行内部通信。如何在不必为后端创建入口的情况下实现此目的。是否可以使用应用程序负载均衡器执行此操作,还是需要为此设置API网关?我如何实现这种架构?添加架构图以显示我想要实现的目标。任何帮助表示赞赏.enter image description here

amazon-web-services kubernetes kubernetes-ingress api-gateway kops
2个回答
2
投票

从您的“架构图”看,您的所有应用程序都在群集中。所以不需要入口。您可以使用kubernetes服务。

您的前端应用程序应该能够调用后端服务的端点,否则您在前端服务的配置中出错了。

如果您没有机会更改前端应用程序调用后端服务的URL,您可以使用带有CNAME的kubernetes服务并重定向到您的内部服务。


0
投票

你不需要从前端连接后端。假设后端和前端pod都在同一个kubernetes集群中运行。前端服务可以使用服务dns连接后端服务

backend-service.<namespace>.svc.cluster.local
© www.soinside.com 2019 - 2024. All rights reserved.