запуск 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 ситуации, что означает, что их можно спроецировать как одноранговые (по-прежнему), но указать приложению, какое из двух значений оно должно использовать.
Конечно, дьявол кроется в деталях, поэтому не стесняйтесь вмешаться, если вы можете поделиться более подробной информацией о препятствиях, с которыми вы сталкиваетесь.
person
mdaniel
schedule
27.03.2018