我正在启用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
进入运行中的吊舱时,出现以下错误。
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)
我的猜测是我缺少ClusterRoleBinding
裁判,我缺少哪个角色?
kubectl和api之间的连接很好,并且已被正确授权。
为了满足执行请求,apiserver与运行pod的kubelet联系,并且该连接是禁止的。
您的kubelet已配置为对请求进行身份验证/授权,并且apiserver未提供kubelet可以识别的身份验证信息。
apiserver对kubelet进行身份验证的方式是使用客户端证书和密钥,并使用--kubelet-client-certificate=... --kubelet-client-key=...
提供给API服务器的标志进行配置。
有关更多信息,请参见https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#overview。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句