ZBLOG

argo server 部署报错怎么解决 Forbidden: clusterworkflowtemplates.argoproj.io is forbidden: User "system:serviceaccount:exadb-dev:argo-dev-server" cannot list resource "clusterworkflowtemplates" in API group "argoproj.io" at the

该错误提示表明您的 ServiceAccount argo-dev-server 缺少访问 ClusterWorkflowTemplate 资源的权限。要解决此问题,您需要为该 ServiceAccount 授予适当的 RBAC 权限。

下面是一些可能有用的步骤:

  1. 创建一个名为 argo-dev-role 的 ClusterRole,并将其绑定到 ServiceAccount argo-dev-server 上。以下是示例 YAML 文件:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
  name: argo-dev-role
rules:
- apiGroups: ["argoproj.io"]
  resources: ["clusterworkflowtemplates"]
  verbs: ["get", "list", "watch"]

---

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
  name: argo-dev-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: argo-dev-role
subjects:
- kind: ServiceAccount
  name: argo-dev-server # 指定要授权的 ServiceAccount 名称 
  1. 使用 kubectl 命令将上述 YAML 文件应用到集群中:
kubectl apply -f <yaml-file>
  1. 确认已经正确授权。使用以下命令检查是否已将角色绑定到服务帐户:
kubectl describe sa argo-dev-server -n exadb-dev # 替换成您所在的命名空间名称 

输出应包含类似于以下内容的信息:

Name:                argo-dev-server
Namespace:           exadb-dev
Labels:              <none>
Annotations:         <none>
Image pull secrets:  <none>
Mountable secrets:   argo-dev-server-token-xxxxx
Tokens:              argo-dev-server-token-xxxxx
Events:              <none>

...

Name:         argo-dev-binding
Role:
  Kind:      ClusterRole
  Name:      argo-dev-role # 角色名称 
Subjects:
  Kind       Name                    Namespace
  ----       ----                    ---------
  ServiceAccount argo-dev-server exadb-dev # 指定绑定的 ServiceAccount 名称和所在的命名空间 

如果您可以看到上述输出,那么您的 ServiceAccount argo-dev-server 已经被成功授权访问 ClusterWorkflowTemplate 资源了。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4416

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?