我有一个我所有吊舱都需要的公钥。
我最初的想法是创建一个ConfigMap或Secret来保存它,但是据我所知,这两个名称都不能在命名空间中使用。除此之外,将相同卷粘贴到我所有的Deployments中确实是样板
因此,我认为,现在只剩下一些不好的选择,例如在所有命名空间中创建相同的ConfigMap / Secret并在部署中执行复制粘贴操作。
还有其他选择吗?
提问后的其他信息。
答案 0 :(得分:1)
您可以使用Kubernetes初始化程序拦截对象创建并根据需要进行更改。这样可以解决所有部署中的复制粘贴问题,并且可以从中央位置进行管理。
https://medium.com/google-cloud/how-kubernetes-initializers-work-22f6586e1589
尽管如此,您仍然需要为每个命名空间创建configmaps / secrets。
答案 1 :(得分:0)
虽然我不太喜欢这个主意,但是解决它的方法之一可以是一个初始化容器,该容器使用所需的键填充一个卷,然后将这些卷安装到您认为合适的容器中。这样,它就独立于命名空间内容的方式,并且仅依赖于如何定义/创建Pod。
也就是说,上面Ryan提到的Kubed听起来像是对这种情况的一种更合理的方法,最后但并非最不重要的一点是,某些事情毕竟会创建您的名称空间,因此在同一内部创建了名称空间的必需元素过程听起来也很合法。