Как создать собственную диаграмму Хелма, которая в основном просто устанавливает значения другой диаграммы? - PullRequest
0 голосов
/ 05 октября 2018

Я новичок в Хелм, и я еще не совсем понял концепции.В настоящее время я пытаюсь создать собственную диаграмму, которая в основном просто устанавливает конкретные значения для другой диаграммы, доступной в стабильном хранилище по умолчанию.Практически все, что я хочу сделать, это:

helm install \
-f my-custom-values.yaml \
stable/target-chart \
--name=my-release

изменилось на

helm install my-apps/my-release

С my-release с использованием тех же значений в my-custom-values.yaml.По сути, это объединение ранее существовавшего графика в новый с моими пользовательскими значениями.

Есть ли способ сделать это?Я думаю, что смогу клонировать исходную диаграмму, но я не чувствую, что это практично.

1 Ответ

0 голосов
/ 10 октября 2018

В чем проблема с первым вариантом?Если у вас есть собственный файл values.yaml, который вы можете передать helm, зачем вам его удалять из командной строки?

Но если вы готовы немного поиграть ...:)

Один из способов сделать это - создать собственную диаграмму, которая в основном будет пустой, но будет состоять из файла require.yaml, который ссылается на stable/target-chart.

needs.yaml (рядом с Chart.yaml).

dependencies:
  - name: stable/target-chart
    version: 1.0.0.0.0.0
    alias: somealiasforvaluesyaml

В вашем values.yaml вы затем перезаписываете значения этой под-диаграммы:

somealiasforvaluesyaml:
  keyfromthattargetchart: newvalue

  subkeyfromthattargetchart:
    enabled: true
    setting: "value"

Псевдоним, который вы даете в require.yaml, является разделом ваших значений.yaml из вашей диаграммы.

Перед установкой необходимо указать helm обновить эти требования:

helm repo update
helm dependency update

, а затем просто helm install эту (виртуальную?) диаграмму.Эта диаграмма не содержит каких-либо ресурсов, поэтому она не будет называться пакетом в менеджерах пакетов Linux - но они также используют переходные пакеты или пакеты, которые просто являются набором других (например, build-essential)

Учитывая васуже есть values.yaml, чтобы перезаписать их в целевой диаграмме, это все немного?Поскольку cust-values ​​.yaml, передаваемые для установки с -f, просто должны содержать настройку, так как она внесет изменения в values.yaml из целевой диаграммы, и ваша первая команда в вопросе выглядит как правильный путь.

...