Argo工件传递无法保存输出

时间:2019-06-06 10:19:44

标签: docker kubernetes argoproj

我正在尝试在Argoproj上运行artifact passing example。但是,出现以下错误:

failed to save outputs: verify serviceaccount platform:default has necessary privileges

此错误出现在第一步本身(生成工件)中。

enter image description here

选择generate-artifact组件并单击YAML,将突出显示以下行

enter image description here

单击“日志”没有任何显示。

我需要了解运行YAML文件的正确步骤顺序,以便不会出现此错误并传递工件。除了this page以外,在Argo信息库中讨论了该问题的其他资源均无法找到。

1 个答案:

答案 0 :(得分:0)

工作流中的所有Pod均使用workflow.spec.serviceAccountName中指定的服务帐户运行,如果省略,则使用工作流名称空间的默认服务帐户。

此处,该命名空间的默认服务帐户默认似乎没有任何角色。

尝试将角色授予名称空间中的“默认”服务帐户:

kubectl create rolebinding argo-default-binding \
  --clusterrole=cluster-admin \
  --serviceaccount=platform:default \
  --namespace=platform

由于默认服务帐户现在可以通过'cluster-admin'角色获得所有访问权限,因此该示例现在应该可以使用。