自动将公钥分配给所有命名空间中的所有pod

时间:2018-08-28 13:11:52

标签: kubernetes

我有一个我所有吊舱都需要的公钥。

我最初的想法是创建一个ConfigMap或Secret来保存它,但是据我所知,这两个名称都不能在命名空间中使用。除此之外,将相同卷粘贴到我所有的Deployments中确实是样板

因此,我认为,现在只剩下一些不好的选择,例如在所有命名空间中创建相同的ConfigMap / Secret并在部署中执行复制粘贴操作。

还有其他选择吗?

提问后的其他信息。

  • 该密钥不需要保密,它是一个公共密钥,但是需要以一种受信任的方式分发。
  • 它不会经常旋转,但是当它发生时,所有图像都无法重建。
  • 几乎所有图像/吊舱都需要此密钥,并且将有数百个图像/吊舱。

2 个答案:

答案 0 :(得分:1)

您可以使用Kubernetes初始化程序拦截对象创建并根据需要进行更改。这样可以解决所有部署中的复制粘贴问题,并且可以从中央位置进行管理。

https://medium.com/google-cloud/how-kubernetes-initializers-work-22f6586e1589

尽管如此,您仍然需要为每个命名空间创建configmaps / secrets。

答案 1 :(得分:0)

虽然我不太喜欢这个主意,但是解决它的方法之一可以是一个初始化容器,该容器使用所需的键填充一个卷,然后将这些卷安装到您认为合适的容器中。这样,它就独立于命名空间内容的方式,并且仅依赖于如何定义/创建Pod。

也就是说,上面Ryan提到的Kubed听起来像是对这种情况的一种更合理的方法,最后但并非最不重要的一点是,某些事情毕竟会创建您的名称空间,因此在同一内部创建了名称空间的必需元素过程听起来也很合法。

相关问题