Получить службу MySQL / пароль / пользователя из зависимости Helm

#kubernetes-helm

#kubernetes-helm

Вопрос:

Я хотел бы добавить https://hub.helm.sh/charts/bitnami/mysql как зависимость от моих диаграмм helm. Итак, я добавил это в свою диаграмму.yaml:

 dependencies:
- name: mysql
  version: "6.14.9"
  repository: "https://charts.bitnami.com/bitnami"
  

Как я могу теперь получить имя службы, пароль и пользователя в качестве переменных среды в моих основных развертываниях диаграммы для подключения к серверу mysql? Каким-то образом во всей документации диаграммы упоминается только ее непосредственная установка с помощью helm. Неправильно ли использовать зависимость здесь?

Ответ №1:

Когда вы используете зависимость, вы можете переопределить значения.yaml для диаграммы mysql из родительской диаграммы, а затем введите эти значения в качестве переменной окружения или секрета в ваш основной контейнер.

в ценностях.yaml родительской диаграммы

 mysql:
 mysqlRootPassword: testing
 mysqlUser: user
 mysqlPassword: user
 
  

получив эти значения, вы можете использовать их для создания секретного и подключения пользовательского тома или напрямую вводить их в качестве переменных среды.

Для сервера mysql используйте название выпуска и название диаграммы в большинстве случаев, если вы не используете NameOverride или FullNameOverride

  env:
  - name: MYSQL_SERVER
    value: {{ .Release.Name }}-mysql
  

Комментарии:

1. Итак, невозможно ли получить имя mysql secret / service таким образом, чтобы другие могли перезаписать это имя? Например, используя {{ template "mysql.fullname" . }}

2. Вы не можете использовать шаблон дочерней диаграммы в родительской диаграмме, поскольку шаблон будет создан только при визуализации диаграммы mysql, и вы можете столкнуться с проблемой, заключающейся в том, что шаблон не определен..

Ответ №2:

Принятый ответ здесь не работает.

Для bitnami mysql 8.0.25 правильный синтаксис:

 mysql:
  auth:
    rootPassword: testing
    username: user
    password: user