小编Rui*_*Rui的帖子

如何使用 kubernetes env 访问容器环境变量?

我正在尝试在 Kubernetes 上运行我的应用程序。PATH我的 docker 容器有和等环境变量LD_LIBRARY_PATH,它们在 Dockerfile 中设置。我尝试在 yaml 文件中更改它们,如下所示:

env:
- name: LD_LIBRARY_PATH
  value: "foo:$(LD_LIBRARY_PATH)"
Run Code Online (Sandbox Code Playgroud)

上面的配置不行,我只是LD_LIBRARY_PATH=foo:$(LD_LIBRARY_PATH)在pod里看到的。此方法似乎适用于 Kubernetes 环境变量,例如KUBERNETES_PORT_443_TCP_PROTO,但不适用于 docker 环境变量。

我的问题是:

  1. 我认为envyaml中的设置是在容器运行时之前注入到docker中的,因此kubernetes无法读取.yaml的值LD_LIBRARY_PATH。因此它无法更改变量。我理解得对吗?

  2. 如何使用 kubernetes env 更改容器环境变量?我知道我可以在commandyaml 文件字段中设置环境变量,但这似乎不干净,还有其他方法可以做到这一点吗?

  3. 如果 Kubernetes 无法更改现有的环境,是否意味着 yaml 文件中的 env 字段仅用于添加新的环境?

谢谢你!

environment-variables docker kubernetes

2
推荐指数
1
解决办法
2568
查看次数

标签 统计

docker ×1

environment-variables ×1

kubernetes ×1