Могу ли я иметь несколько файлов values.yaml для Helm - PullRequest
0 голосов
/ 29 июня 2018

Могу ли я иметь несколько values.yaml файлов на диаграмме Хелма?

Что-то вроде mychart/templates/internalValues.yaml, mychart/templates/customSettings.yaml и т. Д.

Доступ к свойствам в файле values.yaml может быть сделан с помощью {{ .Values.property1 }}. Как бы я сослался на свойства в этих пользовательских values.yaml файлах?

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Да, возможно иметь несколько файлов значений с помощью Helm. Просто используйте флаг --values (или -f).

Пример:

helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml

Вы также можете передать одно значение, используя --set.

Пример:

helm install ./path --set username=ADMIN --set password=${PASSWORD}

Из официальной документации :

Существует два способа передачи данных конфигурации во время установки:

- значения (или -f): указать файл YAML с переопределениями. Это может быть указано несколько раз, и самый правый файл будет иметь приоритет

- set (и его варианты --set-string и --set-file): указать переопределения в командной строке.

Если используются оба, значения --set объединяются в значения --value с более высоким приоритетом. Переопределения, указанные с помощью --set, сохраняются в файле конфигурации. Значения, которые были --set, могут быть просмотрены для данного выпуска с помощью helm get values. Значения, которые были --set, можно очистить, запустив обновление helm с указанием --reset-values.

0 голосов
/ 29 июня 2018

Хелм по умолчанию будет использовать только файл values.yaml в корневом каталоге вашего графика.

Вы можете попросить его загрузить дополнительные файлы значений при установке, например, если у вас есть настройки, которые указывают на разные базы данных в разных средах:

helm install . -f values.production.yaml

Вы также можете получить аналогичный эффект, связав дополнительные настройки в виде файла, и попросив Хелма прочитать связанный файл . Helm предоставляет недокументированную из шаблона Yaml функцию , которая может анализировать файл, поэтому в принципе вы можете сделать что-то вроде

{{- $v := $Files.get "more-values.yaml" | fromYaml }}
foo: {{ $v.bar }}
...