用例:
我有一个可用的 NFS 目录,我想用它来为多个部署和 pod 保存数据。
我创建了一个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
我相信这会在PersistentVolume
. 当我运行时kubectl get pvc
,我看到:
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
nfs-pvc-1 Bound nfs-pv 10Gi RWX 35s
我不明白为什么我看到的是 10Gi 容量,而不是 50Mi。
然后,当我更改PersistentVolumeClaim
部署 yaml 以创建名为 PVC时,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 资源的适当方法是什么?