Вы можете смонтировать секрет как том .Адаптируем пример из связанной документации Kubernetes:
apiVersion: v1
kind: Pod
metadata:
name: secret-test-pod
spec:
containers:
- name: test-container
image: nginx
volumeMounts:
- name: john-secret
mountPath: /etc/john-secret
volumes:
- name: secret-volume
secret:
secretName: john-secret
Если у вас есть куча секретов, вам нужно будет смонтировать их все в спецификации модуля.Само по себе это проблема сопровождения.
Я не думаю, что на самом деле что-то мешает вам использовать более структурированный объект данных, такой как файл JSON или YAML, в качестве значения секрета.Это может работать разумно в сочетании с монтированием его в качестве тома.
Если у вас действительно много секретов - много «пользователей» со многими значениями для каждого - тогда какое-то внешнее хранилище для секретов, вероятно, являетсялучшая идея.Если это просто имена пользователей и пароли, очень часто в базе данных хранится односторонний хэш пароля (который также позволяет обновлять их без повторного развертывания системы).Такие инструменты, как Vault , разработанные Hashicorp, могут быть сложны в администрировании, но в качестве приоритета они имеют реальную безопасность этого контента, и вы получаете гораздо более строгий контроль над тем, кто может получить доступ к фактическим секретам.