reactjs - 如何使用 Kubernetes 覆盖 React JS 应用程序中的 env 变量?

标签 reactjs kubernetes minikube

我有一个简单的 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/

相关文章:

spring-boot - 基于 Kubernetes Ingress 路径的路由无法按预期工作

kubernetes - 如何优雅地停止单节点 kubernetes 集群

kubernetes - Kubernetes:minikube持久卷本地文件系统存储位置

reactjs - 如何添加 ads.txt

javascript - 带粘性页脚的 Flex box 3 列布局

javascript - 在react js中传递和显示对象数组

docker - Kubernetes-将多个镜像部署到单个Pod中

kubernetes - 无法访问Minikube/Kubernetes mountPath

kubernetes - Minikube 未在 Ubuntu 上启动,引发错误

javascript - “Thinking in ReactJS",如果我有AngularJS背景?