在k8s中-我已经安装并运行了一个舵图。
安装之后,我只想更改helm图表的一个特定值,该值反映了一些k8s yaml文件(使用helm的模板)。
我没有helm值文件,但需要使用相同的值,并且只更改图表的一个值。
我可以通过只更改一个值来升级舵图吗?
helm upgrade使用yaml文件的图表名和文件夹,但我不想使用yaml文件。
发布于 2022-06-18 15:55:21
您可以使用--set key=value覆盖单个值,并且可以多次使用该开关设置多个值(尽管您需要注意一些转义的诡计,如with“”)。(字符)
通过使用--set或--values开关没有覆盖的任何内容都将返回到图表中嵌入的values.yaml。
但这也附带了一个警告。有些图表故意不嵌入values.yaml文件,选择配置文件,以便安装必须显式声明要使用哪一个文件,否则图表将无法安装。我在this answer中讨论过这样一个例子
用单个值更新图表的最安全方法是使用以下方法转储发行版的值
helm get values -n {namespace} {release} > values.yaml然后使用这些值进行安装,并使用单个覆盖覆盖。
helm upgrade --install --atomic --wait -n {namespace} {release} repo/chart-name \
--values values.yaml \
--set override-key=override-value这保证了所提供的值与当前在图表中使用的值相同,而不需要知道最初使用的配置文件。
https://stackoverflow.com/questions/72670523
复制相似问题