【发布时间】:2021-08-19 16:35:19
【问题描述】:
我已将 node.js 应用程序容器化到 kubernetes pod 中。为了设置一些环境变量,我创建了 .env.k8 文件并在那里设置了一些环境变量。
在构建映像时,我在 docker build 命令中选择此文件作为 --env =k8。假设,我在那个 .env.k8 文件中设置了一个 ENV 变量作为 URL ="abc.com"
图像正在创建并且 pod 已启动。我需要检查是否根据我的 .env.k8 文件设置了 process.env.URL。 pod有什么办法,我可以检查Env变量是否设置正确。
我执行到正在运行的容器中并使用了 commond printenv。它没有显示 node.js 应用程序的进程环境变量,它显示了为 POD 设置的环境变量。
那么如何从相同的 kubernetes pod 检查 process.env 变量
【问题讨论】:
-
node.env 变量是在构建过程中提供的,无法从运行时访问 env 变量。唯一的方法是创建一个返回环境变量的逻辑
-
我不想访问它。我只想验证它是否在构建过程中正确设置。有什么办法吗?
-
无需编写额外代码 - 不,这是出于安全原因
-
好的。感谢您的信息。现在检查如何创建逻辑或附加代码来验证 Env 变量
-
您可以使用npmjs.com/package/dotenv-safe 它可以验证您的环境变量是否设置正确,否则将不允许运行应用程序
标签: node.js docker kubernetes