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

标签 kubernetes namespaces roles access-control rbac

documentation说,

If you want to define a role within a namespace, use a Role; if you want to define a role cluster-wide, use a ClusterRole.

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

kubectl -n apps create clusterrole scrole --verb=create,update,patch,delete --resource=sc

此外,Role 仅适用于命名空间资源,ClusterRole 适用于非命名空间资源,这样说是否正确>仅

最佳答案

命名空间参数是多余的,即使您在创建 ClusterRole 时提供它,也不会使用该参数。

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

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

关于Kubernetes - 允许具有命名空间的 ClusterRole 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64871199/

相关文章:

ASP.NET 动态数据和成员资格(角色)

reactjs - 无法使用Kubernetes连接到React js应用的api服务器?

C# - 命名空间内的类型声明

Mysql Kubernetes Deployment helm chart 因准备就绪和事件探测失败而失败

.net - 在多个 DLL 中拥有命名空间有什么影响?

c# - Xamarin\C# 所有类的命名空间相同吗?

symfony - Sonata Admin Bundle 删除 routeCollection 角色

php - Symfony 2 FOS UserBundle 用户没有获得组的角色

azure - 使用 AKS 时如何修复 "Kibana server is not ready yet"错误

kubernetes - 将网络标志--network-plugin = cni添加到kubelet