Какую версию Helm вы используете?
Была похожая проблема в репозитории Kubernetes на GitHub:
Невозможно использовать условие в 'require.yaml' # 2111
Решением было обновить Helm до v2.2.0 +.В этой версии была добавлена поддержка условий.
В документации Helm или репозиторий есть объяснение того, как работает условие: (Я добавил несколькокомментарии для облегчения чтения)
Условие - поле условия содержит один или несколько путей YAML (разделенных запятыми).Теги. Поле тегов представляет собой список меток YAML, которые нужно связать с этой диаграммой.
# parentchart/requirements.yaml
dependencies:
- name: subchart1
repository: http://localhost:10191
version: 0.1.0
condition: subchart1.enabled, global.subchart1.enabled
tags:
- front-end #(chart should be disabled because the tags.front-end is “false” in values.yaml file , but ...)
- subchart1 #(subchart1.enabled condition path is present in values.yaml file and it has "true" value...)
#(this condition, so it overrides tag front-end and this chart will be enabled)
- name: subchart2
repository: http://localhost:10191
version: 0.1.0
condition: subchart2.enabled,global.subchart2.enabled
#(as soon as no one from these paths is exists in values.yaml this condition has ho effect)
tags:
- back-end #(chart should be enabled because the tags.back-end is “true” in values.yaml file)
- subchart2 #(and there is no condition path found in values.yaml to override it)
Если этот путь условия существует в values
верхнего родительского элемента и разрешается в логическое значениеграфик будет включен или отключен на основе этого логического значения.Оценивается только первый действительный путь, найденный в списке, и , если путей не существует, условие не действует .
В значениях верхнего родительского элемента все диаграммы с тегами можно включить или отключить, указав тег и логическое значение.
# parentchart/values.yaml
subchart1:
enabled: true #(this could be found from requirements as subchart1.enabled and override tags in this case)
tags:
front-end: false #(this disables charts with tag front-end)
back-end: true #(this enables charts with tag back-end)
Логика и последовательность условий и тегов описаны в Теги и разрешение условий :
- Условия (если они установлены в значениях) всегда имеют приоритет над тегами .Первый существующий путь условия выигрывает, а последующие для этой диаграммы игнорируются.
- Теги оцениваются как «если какой-либо из тегов диаграммы верен, тогда включите диаграмму».
- Теги и условиязначения должны быть установлены в значениях верхнего родителя.
- Теги: ключ в значениях должен быть ключом верхнего уровня. Глобальные и вложенные теги: таблицы в настоящее время не поддерживаются.
Вы также можете установить теги и условия в командной строке:
helm install --set tags.front-end=true --set subchart2.enabled=false