Требуется динамический поставщик PV CIFS, ограниченный определенным пространством имен

У меня есть кластер kubernetes на baremetal.

Мне нужен динамический поставщик PV CIFS, ограниченный определенным пространством имен. Я хочу, чтобы пользователь/под, у которых есть доступ к namespace_a, мог хранить в PV, предоставленном на CIFS shared_a.

Есть ли какое-либо существующее решение?

Любая альтернатива, которая позволила бы мне динамически предоставлять PV, которые поддерживаются общим ресурсом samba nas, сохраняя при этом изоляцию пространства имен?

Спасибо


person ThatChrisGuy    schedule 23.11.2019    source источник


Ответы (1)


По дизайну PersistentVolumes не являются объекты с пространством имен, но PersistentVolumeClaim.

Чтобы добиться изоляции между пространством имен и постоянным томом, вы можете привязать PV к PVC. Это сопоставление один к одному, и оно «резервирует» объем для определенного PVC.

Вы должны указать claimRef в PersistentVolume spec< /а> поле:

ClaimRef является частью двунаправленной привязки между PersistentVolume и PersistentVolumeClaim. Ожидается, что оно будет ненулевым при привязке. Claim.VolumeName — авторитетная привязка между PV и PVC.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv1
[...]
spec:
[...]
  claimRef:
    name: claim
    namespace: default

И в ПВХ:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: claim
spec:
[...]
  volumeName: pv1
person Mariusz K.    schedule 25.11.2019
comment
Может ли динамический поставщик сделать эту привязку автоматически? Для PVC с VolumeName сгенерируйте PV с полем ClaimRef для привязки к PVC. - person ThatChrisGuy; 25.11.2019