我希望能够做这样的事情:
VALUES="
port: 80
"
helm install mychart ./mychart --set "${VALUES}"
# or
helm install mychart ./mychart --values "${VALUES}"
这当然不是我直接使用的,而是我想强烈利用一个可以环绕 helm 的工具。 helm 图表和可定制值的编排如果能够以这种方式进行将非常棒(可以让我做到这一点的工具是 Tilt btw,它很棒)。我什至对 json 支持感到满意,
yq
可以处理这样的输入流并即时转换为 json。
当然可以,helm 可以支持:
cat "${VALUES"} > tmpfile.yaml
helm install mychart ./mychart --values ./tmpfile.yaml
但是 :( 这会导致用例发生更多变化。这实际上将管理许多可定制和动态的 helm 值,我不希望许多临时文件弄乱人们的系统。
您可以将您的环境变量直接通过管道传递到 helm 命令中,并通过标准输入读取它:
echo $VALUES | helm install mychart ./mychart -f -
这里有一个更好的解释: https://askubuntu.com/questions/1074067/what-does-the-syntax-of-pipe-and-ending-dash-mean