我有一个简单的 React JS 应用程序,它使用 .env 文件中定义的环境变量 (REACT_APP_BACKEND_SERVER_URL)。现在,我正在尝试使用 Kubernetes 将此应用程序部署到 minikube。
这是我的部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-ui
spec:
replicas: 1
selector:
matchLabels:
app: test-ui
template:
metadata:
name: test-ui-pod
labels:
app: test-ui
spec:
containers:
- name: test-ui
image: test-ui:1.0.2
ports:
- containerPort: 80
env:
- name: "REACT_APP_BACKEND_SERVER_URL"
value: "http://127.0.0.1:59058"
当我运行应用程序时,它正在运行,但 REACT_APP_BACKEND_SERVER_URL 给出了我在 .env 文件中定义的值。不是我压倒的那个。有人可以帮我吗?如何使用 Kubernetes 部署覆盖环境变量?
最佳答案
在使用部署 YAML 启动应用程序并检查环境变量后,我看到了该环境变量的环境变量。
REACT_APP_BACKEND_SERVER_URL=http://127.0.0.1:59058
你可以通过 kubectl exec -it <pod-name> -- sh
来检查正在运行 env
命令。
所以你可以看到REACT_APP_BACKEND_SERVER_URL
是在环境变量中。它可供您的应用程序使用。我怀疑您可能需要从 React 应用程序方面更好地了解如何使用 .env
文件。
关于reactjs - 如何使用 Kubernetes 覆盖 React JS 应用程序中的 env 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69677561/