Это пример того, как вы это сделаете.Вы можете использовать пространства имен для разных команд.
Затем вы можете использовать Role
для каждого тома и назначать пользователям соответственно.(Роли в пространстве имен).Пример роли будет:
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. Вы можете создать отдельные роли дляТом, который является частным.