GKE RBAC role / rolebinding 以访问集群中的节点状态
GKE RBAC role / rolebinding to access node status in the cluster
我无法获得正确的角色绑定,无法从在 GKE 上的 pod 中运行的应用程序获取节点状态。
我可以从那里创建一个 pod,但无法获取节点状态。
他是我正在创建的角色:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: node-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["nodes"]
verbs: ["get", "watch", "list"]
这是我在执行 getNodeStatus 时遇到的错误:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "nodes \"gke-cluster-1-default-pool-36c26e1e-2lkn\" is forbidden: User \"system:serviceaccount:default:sa-poc\" cannot get nodes/status at the cluster scope: Unknown user \"system:serviceaccount:default:sa-poc\"",
"reason": "Forbidden",
"details": {
"name": "gke-cluster-1-default-pool-36c26e1e-2lkn",
"kind": "nodes"
},
"code": 403
}
我尝试了一些细微的变化,但没有成功。
GKE 上的 Kubernetes 版本是 1.8.4-gke.1
感谢任何帮助,谢谢!
子资源权限表示为<resource>/<subresource>
,因此在角色中,您将指定resources: ["nodes","nodes/status"]
我无法获得正确的角色绑定,无法从在 GKE 上的 pod 中运行的应用程序获取节点状态。
我可以从那里创建一个 pod,但无法获取节点状态。 他是我正在创建的角色:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: node-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["nodes"]
verbs: ["get", "watch", "list"]
这是我在执行 getNodeStatus 时遇到的错误:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "nodes \"gke-cluster-1-default-pool-36c26e1e-2lkn\" is forbidden: User \"system:serviceaccount:default:sa-poc\" cannot get nodes/status at the cluster scope: Unknown user \"system:serviceaccount:default:sa-poc\"",
"reason": "Forbidden",
"details": {
"name": "gke-cluster-1-default-pool-36c26e1e-2lkn",
"kind": "nodes"
},
"code": 403
}
我尝试了一些细微的变化,但没有成功。
GKE 上的 Kubernetes 版本是 1.8.4-gke.1
感谢任何帮助,谢谢!
子资源权限表示为<resource>/<subresource>
,因此在角色中,您将指定resources: ["nodes","nodes/status"]