一个pod的configmap环境变量对集群的其他pod可见

时间:2021-06-24 09:41:08

标签: kubernetes environment-variables google-kubernetes-engine kubernetes-pod

我们在 GKE 集群上部署了一系列服务。一切都很好,并且运行多年,但我们注意到从配置映射或秘密创建的所有环境变量在同一节点上运行的所有 pod 中都是可见的,无论这些环境变量是否已在相关部署中定义是否使用 YAML。

重现非常简单:

  • 为多个不同的服务创建部署(当然使用不同的图像)
  • 为每一个创建不同的配置映射和秘密
  • 为每个部署定义环境,引用其自己的配置映射和机密
  • 部署所有
  • 在其中一个正在运行的 Pod 中启动一个 shell
  • 发出“printenv”命令

在我们的例子中,我们可以看到所有的环境变量,包括来自其他部署的环境变量。预期的行为是只看到相关部署中定义的那些。在不同部署中环境变量名称相同的情况下,它们似乎具有正确的值,就好像存在某些优先规则一样。

我们显然在某个地方做错了什么,但我们无法找到什么,即使在研究了文档并浏览了网络之后也无济于事。

任何建议都将受到欢迎。 提前致谢。

0 个答案:

没有答案
相关问题