我有一个与Argo Workflow&JINJA模板:
我知道Argo工作流支持以下表达式的JINJA模板:{{…}},但是Argo工作流是否也支持JINJA模板控制结构,如:{%…%}。。。。。。。。还是不?
我正在处理一个用例,我需要在"单一"工作流模板中添加以下语句
{% if inputs.parameters.resources.gpu == 1 %}
nvidia.com/gpu: {{ inputs.parameters.resources.gpu }}
{% end %}
Argo工作流当前不支持Jinja控制结构。
如果您可以处理一些代码重复,一种解决方法是使用条件来实现gpu == 1
和gpu != 1
分支(作为不同的步骤(。
您也可以使用podSpecPatch
。它是应用于pod规范的补丁的JSON字符串表示。对于JSON中的简单变体,您可能会使用Jinja字符串模板。对于更复杂的突变,可以在一个步骤中生成JSON,然后将其用作输出参数。