如何在使用命令行设置 values.helm install 时将参数键值持久化到 values.yaml 文件。 --name test --set image.tag=2020 --set image.version=20 如何更新这个image.tag和image.version值到values.yaml?空运行将给出结果但不会更新 values.yaml
最佳答案
Helm 是一个包管理器,它是关于自动化 kubernetes 应用程序的部署。它被设计为有点静态,并且只能由图表的创建者更改。
感谢这张图片的创作者,不幸的是我找不到作者来感谢他。
values.yaml
文件,因为原始 values.yaml
将保持图表创建者所需的状态。 helm install
或 helm upgrade
期间所做的更改。 我将尝试举例说明您的使用场景:
image: original-image
version: original-version
--set
更改一些值,如您的示例 helm install --name abc --set image=abc --set version-123
。结果:image: abc
version: 123
version
值但保持其他值不变,你运行:`helm upgrade --set version=124 --reuse-values,这是有效的结果值:image: abc
version: 124
注意: 正如我们在流程图中看到的, 如果你不指定 --reuse-values 它将在升级期间重置不是
--set
的值,以恢复到图表的原始值。在这种情况下, image
将再次是 original-image
。所以,结束你的主要问题:
您可以始终使用
--set
在 upgrade
期间保留 --reuse-values
值,但是更改永远不会提交到 values.yaml
文件的原始模板。如果您是图表的所有者,建议您创建图表的发布版本,这样您就可以跟踪每个版本中的默认设置。
我希望它有助于澄清问题。
如果我能进一步帮助您,请在评论中告诉我。
关于kubernetes - 如何在 helm install/upgrade 中坚持 --set 键值到 values.yaml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62249179/