在多租户Kubernetes集群中设置卷权限

特达维森

情况:
-用户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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章