Я думаю, что это mysql Диаграмма руля ответ на ваш вопрос.
Вам нужно проверить 3 ямля.
Вы можете создать свой собственный пароль в values.yaml.
## Create a database user
##
# mysqlUser:
## Default: random 10 character string
# mysqlPassword:
Который будет взят в тайне и закодирован с использованием base64 .
mysql - пароль: {{.Values .mysqlPassword | b64en c | цитата}}
Тогда это будет принято при развертывании.
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "mysql.secretName" . }}
key: mysql-password
И еще немного о секретах на основе документации kubernetes .
Секреты Kubernetes позволяют хранить и управлять конфиденциальной информацией, такой как пароли, OAuth токены и s sh ключи. Хранение конфиденциальной информации в секрете является более безопасным и более гибким, чем дословное ее размещение в определении контейнера или в образе контейнера.
Исходя из моих знаний, это именно так и должно быть.
РЕДАКТИРОВАТЬ
Я добавляю mysql в качестве примера, есть postgres диаграмма . Идея все та же.
Я не совсем понимаю, как мне создать конфиг и секретный yaml в моем приложении?
Вы можете создать секрет перед диаграммой, но вы можете сделать secret.yaml в шаблоны и сделайте там секрет, который будет создан с остальными yamls при установке диаграммы и будет принимать учетные данные из values.dev, prod, stage.yamls.
достаточно использовать только эту переменную env?
Да, как вы можете видеть из ответа, если вы создадите какой-то пароль в values.yaml, тогда он будет принят в секрете при развертывании с secretKeyRef. развернуть мое приложение в том же пространстве имен?
Я не понимаю этого вопроса, вы можете указать пространство имен для своего приложения или развернуть все в пространстве имен по умолчанию.
Я надеюсь, что он ответит на ваш вопрос. Дайте мне знать, если у вас есть еще вопросы.