Случай использования:
У меня есть каталог NFS, и я хочу использовать его для сохранения данных для нескольких развертываний и модулей.
Я создал PersistentVolume
:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: http://mynfs.com
path: /server/mount/point
Я хочу, чтобы несколько развертываний могли использовать этот PersistentVolume
, поэтому я понимаю, что мне нужно создать несколько PersistentVolumeClaims
которые все будут указывать на этот PersistentVolume
.
kind: PersistentVolumeClaim
apiVersion: v1
metaData:
name: nfs-pvc-1
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Mi
Я верю в это, чтобы создать заявку размером 50 МБ на PersistentVolume
. Когда я запускаю kubectl get pvc
, я вижу:
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
nfs-pvc-1 Bound nfs-pv 10Gi RWX 35s
Я не понимаю, почему я вижу емкость 10Gi, а не 50Mi.
Когда я затем изменить PersistentVolumeClaim
YAML развертывания для создания ПВХ с именем nfs-pvc-2
я получаю это:
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
nfs-pvc-1 Bound nfs-pv 10Gi RWX 35s
nfs-pvc-2 Pending 10s
PVC2 никогда не связывается с PV. Это ожидаемое поведение? Могу ли я иметь несколько PVC, указывающих на один и тот же PV?
Когда я удаляю nfs-pvc-1
, я вижу то же самое:
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
nfs-pvc-2 Pending 10s
Опять же, это нормально?
Как правильно использовать/повторно использовать общий ресурс NFS между несколькими развертываниями/модулями?