在安装时操作Helm图表值(而不是' values.yaml ')



有没有人想出任何方法来操纵图表(不是values.yaml)时安装舵图?

例如,我有一个bash脚本,基本上执行

helm3 upgrade --install <options>

无论resources.limits.cpu在我的任何图表中的值是什么,我想在安装任何图表时将其设置为特定值。如果我所有的图表都使用{{ .Values.resources.limits.cpu }},我可以使用--set,但我的图表不一致。从长远来看,正确的解决方案是有一致的图表,但我正在寻找一种快速而肮脏的方法。

我认为你不能用helm来改变它。但是你可以尝试使用变异的webhook,就像这里的:https://github.com/garethr/kubernetes-webhook-examples/blob/master/src/app.py#L38-L41来改变飞行中的pod规格,因为它们正在被创建。

但是,如果您不使用任何helm特定的功能,并且仅将其用作模板引擎,您可以尝试以下快速而肮脏的hack:

helm template  . | yq e '.spec.template.spec.containers[].resources.limits.cpu = "123"' /dev/stdin

注意helm模板(用于呈现模板)和yq(用于更改限制值)的使用

最新更新