Kubernetes - 允许具有命名空间的 ClusterRole 吗?

cog*_*sum 2 namespaces roles access-control rbac kubernetes

文件

如果要在命名空间中定义角色,请使用Role; 如果您想在集群范围内定义角色,请使用ClusterRole.

ClusterRole那么,为什么我能够在命名空间中为非命名空间资源StorageClass(或者sc简而言之)创建 a ?

kubectl -n apps create clusterrole scrole --verb=create,update,patch,delete --resource=sc
Run Code Online (Sandbox Code Playgroud)

另外,a仅Role适用于命名空间资源和适用于非命名空间资源是否正确?ClusterRole

Arg*_*dhu 5

命名空间参数是多余的,即使您在创建ClusterRole.

AClusterRole也可以定义对命名空间范围的资源的权限,您可以使用 aRoleBinding将权限分配给用户或组或服务帐户。当您这样做时,它基本上是为创建名称空间内的资源提供权限。这RoleBinding是为了避免Roles在每个名称空间中创建重复项以提供相同的权限。

此外,当您在 a 中拥有集群范围的资源时,ClusterRole您需要使用 aClusterRoleBinding将权限分配给用户或组或服务帐户。