【发布时间】:2020-05-23 20:59:24
【问题描述】:
我似乎有一个很常见的问题,但我想不通。
在一个新的 kubernetes 集群 (v1.17) 上,我正在尝试安装 Kubernetes-dashboard。
为此,我遵循了官方步骤,从安装仪表板开始:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
然后我创建了 ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
还有 ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
一切运行顺利,所有对象都被创建(我可以得到它们,一切看起来都很好)
运行kubectl proxy 后,仪表板可通过此 URL 访问:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
然后我输入我用这个命令得到的令牌:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-token | awk '{print $1}')
我可以登录,但仪表板是空的。通知面板充满了
[OBJECT] 被禁止:用户“system:serviceaccount:kubernetes-dashboard:admin-user”无法在命名空间“default”中的 API 组“extensions”中列出资源“[OBJECT]”
将 [OBJECT] 替换为每个 kubernetes 对象,您就可以很好地了解我的通知面板;)
管理员用户显然没有足够的权限来访问对象。
问题
- 我错过了什么吗?
- 如何调试这种情况?
感谢您的帮助!
编辑:那是我的云提供商中断了。我不知道发生了什么,也不知道他们是如何解决的,但他们做了一些事情,现在一切正常。
【问题讨论】:
-
感谢您的详细解释。这个问题对我来说看起来很有趣。我会尽力调查并让你知道。如果您想更快地解决问题,也请告诉我
-
我尝试在 GKE 上复制它,但没有成功。它作为 GKE 的魅力。您是否使用独立安装(kubeadm 等)?什么是服务器/客户端版本?顺便说一句,您可以探索
kubectl auth can-i --namespace=default --as admin-user --list输出以获得更多见解 -
感谢您的调查。我不是安装 kubernetes 的人,它是来自云提供商 (OVH) 的解决方案。客户端版本为 1.17.2,服务器版本为 1.17.0。我正在运行 auth 命令,但我不完全理解输出。我会深入研究以了解我的权限是否足够。
-
好的,这是云提供商的中断。我遇到了 PVC 的另一个问题,他们解决了,tadaa 仪表板工作正常,无需修改。
-
如果您将该信息粘贴为已接受的答案,社区将不胜感激,因此该问题不会成为孤立的问题
标签: kubernetes rbac kubernetes-dashboard