我使用nginx-ingress控制器作为子图,我想覆盖子图中的controller.service.nodePorts.http。我试了几种方法,似乎都不起作用。这是我尝试过的
- 在helm install命令期间使用--set controller.service.nodePorts.http=32080
- 在图表的值中声明此路径。yaml
我还查看了Helm文档,以覆盖子图表值,但似乎都不起作用。
我可能错过了什么?感谢您的评分
我使用nginx-ingress控制器作为子图,我想覆盖子图中的controller.service.nodePorts.http。我试了几种方法,似乎都不起作用。这是我尝试过的
我还查看了Helm文档,以覆盖子图表值,但似乎都不起作用。
我可能错过了什么?感谢您的评分
2条答案
按热度按时间wmvff8tz1#
覆盖子图表的值时,需要将这些配置嵌套在子图表的名称下。例如在values.yaml中:
在你的例子中,如果你将nginx控制器图表导入为
nginx-controller
,你可以将它添加到主图表中:此主题在Helm文档中的以下部分中介绍:https://github.com/helm/helm/blob/master/docs/chart_template_guide/subcharts_and_globals.md#overriding-values-of-a-child-chart
vsmadaxz2#
这可能与原来的情况不同,但仍然可能对面临类似问题的人有所帮助。这可能是指定值的问题。
在我的例子中,我有一个子图表“subchartName”,它的值是“{{ .Values.subchartName.path }}"。该值在子图值中定义为:
因此,在父图表values.yaml中,值应指定为:
Helm template . -f parent-values.yaml将给予预期的结果。