有没有人想出任何方法来操纵图表(不是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(用于更改限制值)的使用