2

我正在尝试通过 REST API 访问 Argo 工作流存档。文档说明我需要创建一个角色和一个令牌,所以我就是这样做的。可以像这样创建具有最小权限的角色:

kubectl create role jenkins --verb=list,update --resource=workflows.argoproj.io

事实上,这是可行的,我现在可以使用类似curl http://localhost:2746/api/v1/workflows/argo -H "Authorization: $ARGO_TOKEN". 但是,似乎需要更多权限才能访问诸如 之类的端点/api/v1/archived-workflows,因为我得到的只是:

{
  "code": 7,
  "message": "permission denied"
}

大概我需要在kubectl create role命令中指定其他动词和/或资源,但我不知道是哪些,也找不到相关文档。有什么提示吗?

4

1 回答 1

3

看起来根据文档创建的角色/服务帐户/角色绑定仅授予列出argo命名空间中的工作流的权限(无论是否存档)。

可以像这样为存档指定命名空间:

curl http://localhost:2746/api/v1/archived-workflows?listOptions.fieldSelector=metadata.namespace=argo -H "Authorization: $ARGO_TOKEN"
于 2021-02-15T21:59:11.730 回答