【问题标题】:Argo artifact passing cant save outputArgo工件通过无法保存输出
【发布时间】:2019-10-21 20:28:58
【问题描述】:

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

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

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

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

单击 LOGS 时没有显示任何内容。

我需要了解运行 YAML 文件的正确步骤顺序,以便不会出现此错误并传递工件。除了 this page 在 argo 存储库中讨论了该问题之外,找不到更多关于此问题的资源。

【问题讨论】:

  • 您是否确保您的平台:默认服务帐户具有足够的 RBAC 权限?
  • 您是 k8s 集群的管理员吗?此命令将使运行您的 argo 工作流的服务帐户成为 cluster-admin 组的成员:'kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=platform:default' 应该使您的服务帐户运行 argo 工作流 如果您在 GKE 上,您需要先发出另一个命令才能将角色分配给其他用户。 github.com/argoproj/argo/blob/master/…

标签: docker kubernetes argoproj argo-workflows


【解决方案1】:

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

默认情况下,该命名空间的默认服务帐户似乎没有被赋予任何角色。

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

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

由于默认服务帐户现在通过“集群管理员”角色获得所有访问权限,因此该示例现在应该可以工作了。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2021-05-25
    • 2019-12-06
    • 2021-09-02
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多