如何从React.js应用程序访问Kubernetes容器环境变量?

pcrecxhr  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(3)|浏览(118)

我有一个默认配置的create-react-app。我在**.env文件**内配置了一些PORT和API

REACT_APP_PORT=3000

字符串
并使用inside app with process.env.REACT_APP_PORT。
我的服务器部署在Kubernetes上。有人能解释一下如何配置我的create-react-app,使用pod/container提供的环境变量吗?
我想通过kubectl svc给出的名称访问群集IP

更新1:

我有相反的情况,我不想在kubernetes pod容器中配置我的前端env变量,但想使用pod的env变量
例如,xCLUSTER_IP和CLUSTER_PORT,它们的名称由我的react应用程序中pod的env变量定义。
例如-

NAME TYPE CLUSTER-IP 

XYZ ClusterIP x.y.z.a


并希望访问react应用程序中的XYZ以指向群集IP(x.y.z.a)

dw1jzc5e

dw1jzc5e1#

使用Pod字段作为环境变量的值

apiVersion: v1
kind: Pod
metadata:
  name: dapi-envars-fieldref
spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "sh", "-c"]
      args:
      - while true; do
          echo -en '\n';
          printenv MY_NODE_NAME MY_POD_NAME MY_POD_NAMESPACE;
          printenv MY_POD_IP MY_POD_SERVICE_ACCOUNT;
          sleep 10;
        done;
      env:
        - name: MY_NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: MY_POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MY_POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: MY_POD_SERVICE_ACCOUNT
          valueFrom:
            fieldRef:
              fieldPath: spec.serviceAccountName
  restartPolicy: Never

字符串
https://kubernetes.io/docs/tasks/inject-data-application/_print/也许上面的例子会对你有帮助。

unhi4e5o

unhi4e5o2#

试试这个:

kubectl create configmap react-config --from-literal=REACT_APP_PORT=3000

字符串
然后:

spec:
       containers:
       - name: create-react-app
         image: gcr.io/google-samples/node-hello:1.0
         envFrom:
         - configMapRef:
             name: react-config


现在您从Pod的“外部”配置了env
另请参阅文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables

nxowjjhe

nxowjjhe3#

尝试跟随

spec:
       containers:
       - name: create-react-app
         image: gcr.io/google-samples/node-hello:1.0
         env:
         - name: REACT_APP_PORT
           value: "3000"

字符串

相关问题