是否可以在不同pods的其他容器中复用k8s容器环境变量?

Is it possible to reuse k8s container environment variables in other containers of different pods?

目前,我有多个单独的 pods,每个 运行 相同的图像,但具有不同的入口点。因此,pods 需要相同的环境变量集。这是 helm 模板的示例,说明我如何使用普通的 k8s env 属性将 env 变量传递给 pod(但是,实际的变量数量要多得多):

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: {{ get-value-from-helm-values }}
    - name: DEMO_FAREWELL
      value: {{ get-value-from-helm-values }}

由于每个 pods 都需要相同的环境变量集,我目前正在为每个需要的 pod 容器定义多次复制粘贴整个长列表,这使它变得非常混乱。有没有更好的方法来共享这些变量?

实现这一点的正确过程是通过使用 ConfigMap。创建所有变量的配置映射,然后使用 envfrom

作为环境变量加载

how to doc