3

我有一个与 Argo Workflow & JINJA 模板相关的查询:

我知道 Argo 工作流支持诸如 {{ ... }} 之类的表达式的 JINJA 模板,但是 Argo 工作流是否也支持 JINJA 模板控制结构,例如:{% ... %} ..........

我在一个用例中苦苦挣扎,我需要在“单一”工作流模板中添加以下语句

{% if inputs.parameters.resources.gpu == 1 %}
    nvidia.com/gpu: {{ inputs.parameters.resources.gpu }}
{% end %}
4

1 回答 1

0

Argo Workflows目前不支持 Jinja 控制结构

如果您对一些代码重复没意见,一种解决方法是使用条件来实现 agpu == 1和一个gpu != 1分支(作为不同的步骤)。

你也可以使用podSpecPatch. 它是要应用于 pod 规范的补丁的 JSON 字符串表示形式。对于该 JSON 中的简单变体,您可能可以使用 Jinja 字符串模板。对于更复杂的突变,您可以在一个步骤中生成 JSON,然后将其用作输出参数。

于 2020-10-01T13:25:52.030 回答