Kubernetes RBAC 无法升级连接:禁止(user=system:anonymous、verb=create、resource=nodes、subresource=proxy)

2023-11-24

我正在运行启用了 RBAC 的 Kubernetes 1.6.2。我已经创建了一个用户kube-admin具有以下集群角色绑定

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: k8s-admin
subjects:
- kind: User
  name: kube-admin
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

当我尝试kubectl exec进入正在运行的 Pod 时出现以下错误。

kubectl -n kube-system exec -it kubernetes-dashboard-2396447444-1t9jk -- /bin/bash
error: unable to upgrade connection: Forbidden (user=system:anonymous, verb=create, resource=nodes, subresource=proxy)

我的猜测是我错过了ClusterRoleBindingref,我缺少哪个角色?


kubectl 和 api 之间的连接良好,并且授权正确。

为了满足 exec 请求,apiserver 会联系运行 pod 的 kubelet,而该连接是被禁止的。

您的 kubelet 配置为对请求进行身份验证/授权,并且 apiserver 未提供 kubelet 识别的身份验证信息。

apiserver 向 kubelet 进行身份验证的方式是使用客户端证书和密钥,配置为--kubelet-client-certificate=... --kubelet-client-key=...提供给 API 服务器的标志。

See https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#overview了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes RBAC 无法升级连接:禁止(user=system:anonymous、verb=create、resource=nodes、subresource=proxy) 的相关文章

随机推荐