对于本地开发,我有一个工作的迷你管.我们部署了不同的服务.现在我想将前端与后端连接起来.
前端是一个有棱有角的应用程序,并以自己的服务为生.后端是一个node.js应用程序,它也使用单独的服务,并使用DNS连接到其他内部服务,如mongodb.
现在我想从前端与后端进行通信.DNS无法正常工作,因为前端不知道如何解析命名路由.问题是告诉前端它应该使用哪个后端URL和端口发送请求?
当我第一次使用NodePort类型启动Backend服务并将url和端口复制到Frontends目标URL时,接近了唯一的工作状态.我觉得这对我来说非常不洁净.是否有另一种方法可以将后端请求的URL添加到前端?
我知道当我们在具有type ="LoadBalancer"的生产系统上部署服务时,该服务是由外部IP公开的,然后我可以从那里访问该服务.并且外部IP将在pod更新等方面永久保留.我还看到的问题是后端IP需要通过额外的提交注入到docker容器中.
编辑(1):后端服务
apiVersion: v1
kind: Service
metadata:
name: backend
labels:
app: some-app
tier: backend
spec:
type: NodePort
ports:
- port: 3000
selector:
app: some-app
tier: backend
Run Code Online (Sandbox Code Playgroud)
编辑(2):当我从客户端请求fqn时,我也得到了这个响应:
OPTIONS http://backend.default.svc.cluster.local:3000/signup/ net::ERR_NAME_NOT_RESOLVED
Run Code Online (Sandbox Code Playgroud) kubernetes ×1