使用 RBAC 访问 Web UI 仪表板时出错
Error while accessing Web UI Dashboard using RBAC
我创建了一个集群角色"try-usr"
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: try-usr
rules:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- get
- list
- watch
访问网络UI(Dashboard)时,报错如下:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"xyz\" cannot get services/proxy in the namespace \"kube-system\"",
"reason": "Forbidden",
"details": {
"name": "https:kubernetes-dashboard:",
"kind": "services"
},
"code": 403
}
根据kubernetes版本,the dashboard will require different permissions according to the docs
v1.7
- 为 kube-system 命名空间中的秘密创建和观察权限需要 - 创建和观察 kubernetes-dashboard-key-holder 秘密的变化。
- 获取、更新和删除 kube-system 命名空间中名为 kubernetes-dashboard-key-holder 和 kubernetes-dashboard-certs 的机密的权限。
- 需要 kube-system 命名空间中的 heapster 服务的代理权限才能允许从 heapster 获取指标。
v1.8
- 创建 kubernetes-dashboard-key-holder 秘密所需的 kube-system 命名空间中的秘密权限。
- 获取、更新和删除 kube-system 命名空间中名为 kubernetes-dashboard-key-holder 和 kubernetes-dashboard-certs 的机密的权限。
- 获取和更新 kube-system 命名空间中名为 kubernetes-dashboard-settings 的配置映射的权限。
- 需要 kube-system 命名空间中的 heapster 服务的代理权限才能允许从 heapster 获取指标。
我创建了一个集群角色"try-usr"
kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: try-usr rules: - apiGroups: - '*' resources: - '*' verbs: - get - list - watch
访问网络UI(Dashboard)时,报错如下:
{ "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"xyz\" cannot get services/proxy in the namespace \"kube-system\"", "reason": "Forbidden", "details": { "name": "https:kubernetes-dashboard:", "kind": "services" }, "code": 403 }
根据kubernetes版本,the dashboard will require different permissions according to the docs
v1.7
- 为 kube-system 命名空间中的秘密创建和观察权限需要 - 创建和观察 kubernetes-dashboard-key-holder 秘密的变化。
- 获取、更新和删除 kube-system 命名空间中名为 kubernetes-dashboard-key-holder 和 kubernetes-dashboard-certs 的机密的权限。
- 需要 kube-system 命名空间中的 heapster 服务的代理权限才能允许从 heapster 获取指标。
v1.8
- 创建 kubernetes-dashboard-key-holder 秘密所需的 kube-system 命名空间中的秘密权限。
- 获取、更新和删除 kube-system 命名空间中名为 kubernetes-dashboard-key-holder 和 kubernetes-dashboard-certs 的机密的权限。
- 获取和更新 kube-system 命名空间中名为 kubernetes-dashboard-settings 的配置映射的权限。
- 需要 kube-system 命名空间中的 heapster 服务的代理权限才能允许从 heapster 获取指标。