Как можно создать шаблон значений поддиаграммы? - PullRequest
1 голос
/ 14 июля 2020

Для контекста у меня есть приложение, и оно зависит от диаграммы mysql. Я установил диаграмму mysql стабильную в качестве зависимой диаграммы в диаграмме myapp.

У меня очень большой набор файлов sql, и из-за их размера , Мне нужно упаковать их в специальный контейнер для семян. Используя стандартную диаграмму управления, я могу передать исходный контейнер для инициализации моей базы данных, как показано в приведенном ниже фрагменте values.yaml.

Существуют ли какие-либо стратегии для получения значений вложенной диаграммы, созданных во время выполнения, в мой values.yaml?

mysql:
  extraInitContainers: |
    - name: init-seed
      image: foobar/seed:0.1.0
      env: 
      - name: MYSQL_HOSTNAME
        value: foobar-mysql
      - name: MYSQL_USER
        value: foo
      - name: MYSQL_PASS
        value: bar

Я пробовал сделать следующее, но безрезультатно.

a. Создайте шаблон и передайте имя службы в MYSQL_HOSTNAME env var

b. Передайте хелпер {{ include "mangos_zero.fullname" . }} в это значение

c. Найти имя другого контейнера внутри модуля mysql во время выполнения?

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

1 Ответ

1 голос
/ 14 июля 2020

Не в ваш values.yaml, но да в ваши шаблоны. Предполагая, что вы используете Helm v3, вы можете использовать функцию поиска . Например, везде, где вам нужно имя службы из вашей MySQL БД для создания исходных данных.

(lookup "v1" "Service" "mynamespace" "mysql-chart").metadata.name
...