Могу ли я иметь несколько values.yaml файлов для Helm - программирование
Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

helm install . -f values.production.yaml

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

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

Ответ 2

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

Пример:

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

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

Пример:

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

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

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

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

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

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