搜索

首页  >  问答  >  正文

如何在 React/Node.js 中从 Kubernetes pod 访问环境变量

<p>我们正在 kubernetes pod 中定义一些环境变量,当我尝试使用 process.env.TEST 在节点或 React FE 代码中使用它们时(因为 TEST 作为秘密存在于 env 中),我总是未定义,但是当我看到 pod 上有变量。</p> <p>是否有其他方法可以访问这些变量,或者我们需要在 Node.js 或 React.js 上显式执行某些操作。</p>
P粉790819727P粉790819727448 天前577

全部回复(1)我来回复

  • P粉459440991

    P粉4594409912023-09-06 00:51:54

    可以使用 ‍process.env. 在 Node.js 中访问 Kubernetes Pod 中的环境变量,类似于在任何 Node.js 应用程序中访问它们的方式。您正在以正确的方式进行操作,因此如果值未定义,则某些内容可能无法正确设置。

    apiVersion: v1
    kind: Pod
    metadata:
      name: secret-env-pod
    spec:
      containers:
      - name: mycontainer
        image: redis
        env:
          - name: SECRET_USERNAME
            valueFrom:
              secretKeyRef:
                name: mysecret
                key: username
          - name: SECRET_PASSWORD
            valueFrom:
              secretKeyRef:
                name: mysecret
                key: password

    React 环境变量:如果您尝试在 React 应用程序中使用环境变量,则需要以 REACT_APP_ 为前缀。只有以此前缀开头的环境变量才会嵌入到构建中。因此,您将使用 process.env.REACT_APP_ 在代码中访问它们。

    回复
    0
  • 取消回复