如何解决使用kubernetes服务帐户连接到外部hashicorp保险库后登录未授权错误
场景:
我有两个Kubernetes 1.17集群,一个集群配置了HashiCorp库。我正在尝试使用kubernetes auth方法从其他群集连接到它,并且出现 403 错误,如下所示:
2020-08-11T14:22:46.971Z [ERROR] auth.kubernetes.auth_kubernetes_f530e086:由于以下原因,未经授权登录:{“ kind”:“ Status”,“ apiVersion”:“ v1”,“ metadata”:{} ,“状态”:“失败”,“消息”:“ tokenreviews.authentication.k8s.io:禁止:用户” system:serviceaccount:default:vault-auth“无法在API组” authentication.k8s“中创建资源” tokenreviews“。 io“在集群范围内:RBAC:clusterrole.rbac.authorization.k8s.io” system:auth-delegator“ not found”,“ reason”:“ Forbidden”,“ details”:{“ group”:“ authentication.k8s .io“,”种类“:” tokenreviews“},”代码“:403}
簇结合:
kind: ClusterRoleBinding
metadata:
name: role-tokenreview-binding
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:auth-delegator
subjects:
- kind: ServiceAccount
name: vault-auth
namespace: default
有人请在这里帮我吗?我想念什么?
解决方法
集群角色system:auth-delegator
不存在,从而导致此错误。
要检查其是否存在,请使用以下命令
kubectl get clusterrole | grep system:auth-delegator
如果不存在,请使用以下yaml创建一个
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: system:auth-delegator
rules:
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。