我正在尝试在 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 环境变量。
我的问题是:
我认为envyaml中的设置是在容器运行时之前注入到docker中的,因此kubernetes无法读取.yaml的值LD_LIBRARY_PATH。因此它无法更改变量。我理解得对吗?
如何使用 kubernetes env 更改容器环境变量?我知道我可以在commandyaml 文件字段中设置环境变量,但这似乎不干净,还有其他方法可以做到这一点吗?
如果 Kubernetes 无法更改现有的环境,是否意味着 yaml 文件中的 env 字段仅用于添加新的环境?
谢谢你!