Для этого вам просто необходимы имя хоста и учетные данные службы MySQL.
Помните, что шаблоны Helm YAML могут использовать все на текстовом / шаблонном языке Go .Это включает в себя условные выражения {{ if ... }}...{{ else }}...{{ end }}
, среди прочих структур управления, а также большинство вспомогательных функций в библиотеке Sprig .Это может стать многословным, но аккуратно решает этот класс проблем.
Для имени хоста один из подходов состоит в том, чтобы утверждать одно имя службы, независимо от того, установлено ли оно самой диаграммой или диаграммой обертки.(Если диаграмма верхнего уровня устанавливает MySQL, а также устанавливает ваш сервис, они будут иметь то же имя выпуска Helm и то же сгенерированное имя хоста, независимо от того, является ли MySQL прямой зависимостью вашей диаграммы.)
- name: MYSQL_HOST
value: {{ printf "%s-mysql.%s.svc.cluster.local" .Release.Name .Release.Namespace | quote }}
Другой вариант - передать его в конфигурации values.yaml
, опционально. Sprig default
функция полезна здесь.
- name: MYSQL_HOST
value: {{ .Values.mysqlHostname | default (printf "%s-mysql.%s.svc.cluster.local" .Release.Name .Release.Namespace) | quote }}
Вы можете использовать аналогичный подход, чтобы либо найти секрет, в котором установка MySQL сохраняет свои пароли, либо восстановить его из конфигурации.