运行中的豆荚在内部定义了一些环境变量,例如:
/ # printenv
REACT_APP_ENV_VARIABLE=Variable from Kube!
REDIS_SERVICE_PORT=6379
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.38.0.1:443
REDIS_PORT=tcp://10.38.61.225:6379
REDIS_PORT_6379_TCP_ADDR=10.38.61.225
HOSTNAME=playground-pod
PLAYGROUND_SERVICE_SERVICE_HOST=10.38.0.53
REDIS_PORT_6379_TCP=tcp://10.38.61.225:6379
PLAYGROUND_SERVICE_SERVICE_PORT=80
PLAYGROUND_SERVICE_PORT=tcp://10.38.0.53:80
PLAYGROUND_SERVICE_PORT_80_TCP_ADDR=10.38.0.53
KUBERNETES_PORT_443_TCP_PROTO=tcp
PLAYGROUND_SERVICE_PORT_80_TCP_PORT=80
PLAYGROUND_SERVICE_PORT_80_TCP_PROTO=tcp
REACT_APP_ENV_VARIABLE_TWO=192.168.1.12
PLAYGROUND_SERVICE_PORT_80_TCP=tcp://10.38.0.53:80我应该如何配置一个像这样的React应用程序:
function App() {
return (
<div className="App">
<header className="App-header">
<p>
<code>ENV. VARIABLE: </code> {x.REACT_APP_ENV_VARIABLE}
</p>
</header>
</div>
);
}
export default App;去读取和注入一些存在于吊舱中的变量?
我想知道的主要原因是后台或Redis的动态更新--当应用程序重新启动、重新安排时间等时,它们可能会发生变化。
我的第一种方法是使用导入到应用程序的config.json文件,但通过这种方式,我不能导入通过运行pods生成的动态值。
发布于 2021-11-23 17:51:59
您可以使用库点env
import React from "react";
import env from "react-dotenv";
export function MyComponent() {
return <div>{env.REACT_APP}</div>;
}在部署过程中,您可以从秘密和configmap传递秘密。
spec:
containers:
- name: example-site
image: example/app:v1
ports:
- containerPort: 80
env:
- name: REACT_APP
value: "123456"我想知道的主要原因是后台或Redis的动态更新--当应用程序重新启动、重新安排时间等时,它们可能会发生变化。
以上场景非常适合您的需求,而不是使用config.json。
您可以使用configmap和机密将多个值传递到部署。
https://stackoverflow.com/questions/70085518
复制相似问题