【发布时间】:2021-08-10 14:31:21
【问题描述】:
我有一个默认配置的 create-react-app。 我在 .env 文件 中有一些 PORT 和 API 配置了
REACT_APP_PORT=3000
并通过 process.env.REACT_APP_PORT 使用内部应用程序。
我的服务器部署在 Kubernetes 上。 有人可以解释如何配置我的 create-react-app 以使用 pod/containers 提供的环境变量吗?
我想通过 kubectl svc 给出的名称访问集群 IP
更新 1:
我有相反的情况,我不希望在 kubernetes pod 容器中配置我的前端环境变量,但想使用 pod 的环境变量
e.x CLUSTER_IP 和 CLUSTER_PORT,它们的名称由我的 react 应用程序中 pod 的 env 变量定义。
例如-
NAME TYPE CLUSTER-IP
XYZ ClusterIP x.y.z.a
并希望在 react 应用中访问 XYZ 以指向集群 IP (x.y.z.a)
【问题讨论】:
-
您打算在开发模式下使用您的 React 应用程序吗?因为
env变量REACT_APP_PORT仅由create-react-app设置的开发脚本使用。尽管如此,这里是关于如何处理环境变量的 Kubernetes 文档的链接:kubernetes.io/docs/tasks/inject-data-application/… -
是的,在开发模式下,也像你分享的文档中一样,如何访问EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=""(react app中的pod env变量,因为react读取以REACT_APP开头的env变量)
-
这里是使用
create-react-app时处理环境变量的链接。请记住,一旦构建了应用程序,您将无法使用环境变量。您只能在运行开发服务器时使用它们,因为它将环境变量值注入到 React 的代码中。 -
你能分享链接吗,你提到的是
标签: reactjs kubernetes server environment-variables