在同一 pod 的所有容器上设置相同的环境变量

Set the same environment variables on all containers of the same pod

我想在我的 pod 的所有容器上将相同的环境变量设置为相同的值。我不想在容器之间传递信息,所以这个变量不会更新,但我想确保如果有人更新它的值,它会在我的 pod 中的所有容器中保持同步。

有什么开箱即用的方法吗?目前我看到两个选项:

但是Pods作为一个“单一单元”,没有办法定义“pod-wide”环境变量似乎很奇怪。

有几种方法。

  1. 最常见的做法就是您提到的使用 ConfigMap。这种方式在Kubernetes docs.

    中有解释
  2. 另一种选择是使用 Secret,但它类似于 ConfigMap 方式。

  3. 如果您在部署前知道该变量,您可以Define an environment variable for a container

  4. 最后一种方法是在每个容器中手动设置它们,但是这种方法很苛刻。

medium article中传递environmental variable也有很好的比较。