我有一个Kubernetes集群,各种资源运行良好。我试图让仪表板工作,但在启动仪表板并输入服务帐户令牌时出现以下错误。
persistentvolumeclaims被禁止:用户“system:serviceaccount:kube system:kubernetes dashboard”无法在命名空间“default”中的API组“”中列出资源“persistentvolumeclaims”
它不允许列出我集群中的任何资源(持久卷、pod、入口等)。我的集群有多个命名空间。
这是我的服务帐户yaml文件:
apiVersion: v1
kind: ServiceAccount
metadata:
name: k8s-test # replace with your preferred username
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: dashboard-admin # replace with your preferred username
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin # replace with your preferred username
namespace: kube-system
感谢任何帮助。
我建议使用库伯内特斯的Web UI(Dashboard)留档。
默认情况下不部署仪表板UI。要部署它,请运行以下命令:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
从您的yaml
中,我可以看到您为命名空间库贝-system
指定了它们,但是仪表板正试图从命名空间默认
中列出资源,至少错误消息中是这样说的。
此外,您的yaml
对于ServiceAccount
name
似乎也是不正确的,因为在文件中,您有k8s测试
,错误消息说它正在使用kubernetes仪表板
。
这应该可以解决问题:
kubectl delete clusterrole cluster-admin
kubectl delete clusterrolebinding kubernetes-dashboard
kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
上面的命令将创建一个角色绑定,为所有资源提供所有权限。
kubectl proxy
http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/persistentvolume?namespace=default
>
您可以通过以下方式查看集群管理角色:
kubectl edit clusterrole cluster-admin
这里的问题是serviceaccount“kubernetes dashboard”没有资源“persistentVolumeClaims”的“列表”权限。
我试图创建一个服务帐户与一个已知的,固定的令牌Jenkins使用,以部署到Kubernetes的东西。我使用以下YAML创建了令牌:
在任何给定的POD中,服务帐户令牌被挂载在位置。 /var/run/secrets/kubernetes.io/serviceaccount/token 我想了解这个令牌是如何签名的。Kubernetes在签名此令牌时使用什么密钥?如何访问有助于脱机签名验证的公钥 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt-我尝试使用与此证书关联的公钥
我通过Kubespray成功部署了Kubernetes,一切似乎都很好。我可以通过kubectl访问集群,列出节点、POD、服务、秘密等。还可以应用新的资源,仪表板endpoint可以让我进入仪表板登录页面。 我使用不同服务帐户的令牌登录(默认、kubernetes仪表板、kubernetes admin等)。。。每次登录时,我都会看到与kubespray dashboard中描述的相同的弹出窗口
在kubernetes 1.8.4上,我试图让kubernetes用户访问我们的仪表板。 当使用管理上下文代理时,所有令牌在登录到仪表板时都起作用。但是我的用户没有管理上下文,只有我有,所以他们使用自己的上下文来代理。在这种情况下,他们会出错。 步骤: > 为用户创建服务帐户,将令牌放入 通过rolebinding向该服务帐户授予命名空间A的权限 切换到该用户的上下文 进行部署、获取pod概览等,
我已经在本地机器中配置了minikube,并打算在外部使用kubernetes。我在kubernetes中创建了一个服务帐户,使用它的秘密,我可以使用下面的命令获得访问令牌。 我正在以贝娄启动配置。 我能知道如何使用fabric8 java客户端获得上面描述的serviceAccountAccessToken吗?
正在尝试在kubernetes上运行Spring云数据流服务器。当我尝试打开仪表板url时(https://scdfserverurl/dashboard/#/apps)在浏览器中部分加载,并在日志中显示以下错误。其他组件skipper运行正常,可以访问url。 错误堆栈跟踪 库伯内特斯酒店 波姆。数据流服务器的XML