【问题标题】:Is there a way to run react Application on SpringBoot and to in Kubernetes?有没有办法在 SpringBoot 和 Kubernetes 上运行 react Application?
【发布时间】:2020-03-21 10:50:44
【问题描述】:

我在 Spring Boot 上运行 React 应用程序,它在 Kubernetes 中作为容器运行。当 React 应用程序通过 REST 与后端交互时,它应该解析 REST URI 的 dns。

我尝试直接提供服务名称(即,在从 react 应用程序调用 REST API 时,我提供了 https://service-name:port/api/v1/test/),但它不起作用。

【问题讨论】:

  • 请分享如何配置连接字符串?如何定义服务名称等。 ... ?
  • 服务名是创建Kubernetes服务时会给出的Kubernetes服务名。
  • 1.您使用的是裸机还是本地(云提供商)。 2.请提供kubectl get svc <svc_name> -o yaml的输出
  • 由于 React 应用程序最终运行在浏览器中,它无法访问 Kubernetes 内部的主机名。您需要使用 Service 或 Ingress 对象公开您的 API,并将应用程序指向该对象。
  • 只是为了补充@DavidMaze所说的-如果使用服务,则以可从Kubernetes集群外部访问的方式对其进行配置:NodePort,或者,如果适用于环境,@987654323 @类型。

标签: reactjs spring spring-boot kubernetes microservices


【解决方案1】:

如果您的 backend 在另一个 namespace 上,请使用以下格式:

<service-name>.<namespace-name>.svc:port

对于 demo 命名空间上的 Kubernetes 服务 demo-ser,URL 将类似于:

https://demo-ser.demo.svc:8080/

【讨论】:

  • 两者都在同一个命名空间中。
  • @chandu,错误信息是什么?尽可能提供服务 yaml。
  • 当我从客户端打开 react 应用程序并打开开发人员工具进行调试...应用程序调用 rest api(service-name:port/api/v1/test) 它显示 ERR_NAME_NOT_RESOLVED。
猜你喜欢
  • 1970-01-01
  • 2017-02-02
  • 2014-12-01
  • 1970-01-01
相关资源
最近更新 更多