You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Node.js Pod的package.json中访问Kubernetes环境变量?

解决方法

首先纠正你的Pod配置错误:K8s中定义容器环境变量的字段是env,不是send,修正后的配置如下:

apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"

1. 在Node.js代码中访问环境变量

Node.js会自动将系统环境变量挂载到process.env对象中,无需依赖.env文件,直接在代码中读取即可:

// 示例业务代码
console.log("问候语:", process.env.DEMO_GREETING);
console.log("告别语:", process.env.DEMO_FAREWELL);

2. 在package.json的脚本中使用环境变量

如果需要在package.json的scripts命令里引用这些变量,容器内是Linux环境,直接用$变量名即可:

{
  "name": "node-hello",
  "version": "1.0.0",
  "scripts": {
    "print-greet": "echo $DEMO_GREETING",
    "print-farewell": "node -e \"console.log(process.env.DEMO_FAREWELL)\""
  }
}

验证方式

进入Pod容器内部执行命令测试:

# 进入Pod
kubectl exec -it envar-demo -- /bin/bash

# 执行脚本
npm run print-greet
npm run print-farewell

# 直接在Shell中查看变量
echo $DEMO_GREETING

内容的提问来源于stack exchange,提问作者Carlos Daniel Ospina Salazar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:24:19