运行 2+ 个秘密,其中一个是 foo-dev-secrets,另一个是 foo-universal-secrets
作为一个供您考虑的问题,一个结构良好的 RBAC 策略将确保只有具有正确权限的帐户才能在它们被分解时读取机密,如果将它们全部归为一个,这将(当然)要困难得多“所有秘密”桶
我们知道您只能拥有“每卷一个秘密”,但老实说,我们不确定这意味着什么。
那么你的公司很好,因为我也不知道这意味着什么 :-D 如果你的意思是存在全局机密,但开发机密的名称相同但更具体,我认为 docker -v
可以容忍:
containers:
- name: foo
volumeMounts:
- name: global-secrets
mountPoint: /run/secrets/global
readOnly: true
- name: foo-secret-override
mountPoint: /run/secrets/global/no-really
readOnly: true
...缺点是你会变得很volumes:
健谈volumeMounts:
也就是说,我敢打赌,更通用、更省心的解决方案是将它们安装为对等体,然后执行相当于find /run/secrets/ -not -type d
将它们全部吞下的应用程序:
volumeMounts:
- name: global-secrets
mountPoint: /run/secrets/0-global
readOnly: true
- name: foo-secrets
mountPoint: /run/secrets/1-foo
readOnly: true
或者,如果可能,让应用程序从环境变量或ConfigMap
-ed 情况中读取路径,这意味着可以将它们投影为对等点(仍然),但指出应用程序应该使用两个值中的哪一个。
当然,魔鬼在细节中,所以如果您能够分享有关您遇到的障碍的更多细节,请随时加入