我们正在为头盔图表定义一个initContainer。相关部分如下
initContainers:
- name: "set-volumes-init"
image: "IMAGE AND TAG"
command: ['sh', '-c', 'COMMAND 1 && COMMAND 2 && COMMAND 3']
volumeMounts:
- name: volume-summary
mountPath: /usr/summ
问题是:如何根据是否定义值来使“命令”具有不同的命令?
例如:如果我定义了值:podx.val2,我希望将COMMAND 2包括在内,但如果不包含,则我不想要它。
与其他命令相同
答案 0 :(得分:1)
如果这样做,我将构建一个包含shell脚本的自定义图像,并使其由环境变量控制。
#!/bin/sh
if [ -n "$DO_COMMAND_2" ]; then
command2
fi
您编写的样式可以与YAML块语法和Helm条件条件结合使用。这可能较难维护和测试,但是这样的方法应该可以工作:
command: >-
command1
{{ if .Values.val2 }}
&& command2
{{ end }}
&& command3
YAML >-
语法将使缩进后的所有内容都折叠成一行,这有助于解决空白控制问题。