情况:
-用户A,B,C,D-
团队1:用户A,用户B-
团队2:用户C,用户D
期望:
-每个用户都有私有卷
-每个团队都有一个共享卷->团队中的用户可以看到共享卷
-根据许可,一些用户可以看到两个共享卷
现在搜索了相当长一段时间,在文档中看不到解决方案。
想法:
-使用命名空间!问题->无法再看到其他命名空间的共享卷
这是您如何做的一个例子。您可以为不同的团队使用名称空间。
然后,您可以Role
为每个卷使用a并相应地分配给用户。(角色已命名)。角色示例为:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: team1
name: volume-access
rules:
- apiGroups: [""]
resources: ["persistentvolume", "persistentvolumeclaims"]
resourceNames: ["my-volume"]
verbs: ["update", "get", "list", "patch", "watch"]
然后,您的绑定将类似于:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: pv-binding
namespace: team1
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: volume-access
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: usera
- apiGroup: rbac.authorization.k8s.io
kind: User
name: userb
以上内容将由用户A和用户B共享。您可以为私有卷创建单独的角色。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句