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

13z8s7eq  于 2023-06-28  发布在  Kubernetes
关注(0)|答案(1)|浏览(193)

我们在kubernetes pod中定义了一些环境变量,当我尝试使用process.env.TEST在node或React FE代码中使用它们时(因为TEST在env中作为secrets存在),我总是得到undefined,但当我在pod上看到变量时,它就在那里。
有没有其他方法可以访问这些变量,或者我们需要在Node.js或React.js上显式地做一些事情。

velaa5lx

velaa5lx1#

Kubernetes pod中的环境变量可以在Node.js中使用process.env.<VARIABLE_NAME>‍访问‍,类似于在任何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_<VARIABLE_NAME>访问它们。

相关问题