Kubernetes NFS持久卷 – 同一卷上的多个声明?索赔陷入悬而未决?

使用案例:

我有一个可用的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

我希望多个部署能够使用此PV,因此我对所需内容的理解是我需要创建多个PersistentVolumeClaims,这些都将指向此PV.

kind: PersistentVolumeClaim
apiVersion: v1
MetaData:
  name: nfs-pvc-1
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 50Mi

我相信这可以为PV创造50MB的索赔.当我运行kubectl get pvc时,我看到:

NAME        STATUS     VOLUME    CAPACITY    ACCESSMODES   AGE
nfs-pvc-1   Bound      nfs-pv    10Gi        RWX           35s

我不明白为什么我看到10Gi容量,而不是50Mi.

当我然后更改PVC部署yaml以创建名为nfs-pvc-2的PVC时,我得到:

NAME        STATUS     VOLUME    CAPACITY    ACCESSMODES   AGE
nfs-pvc-1   Bound      nfs-pv    10Gi        RWX           35s
nfs-pvc-2   Pending                                        10s

PVC2永远不会与PV结合.这是预期的行为吗?我可以将多个PVC指向同一个PV吗?

当我删除PVC1时,我看到同样的事情:

NAME        STATUS     VOLUME    CAPACITY    ACCESSMODES   AGE
nfs-pvc-2   Pending                                        10s

再次,这是正常的吗?

在多个部署/ pod之间使用/重用共享NFS资源的适当方法是什么?

解决方法

来自: https://docs.openshift.org/latest/install_config/storage_examples/shared_storage.html

正如Baroudi Safwen所提到的,你不能将两个pvc绑定到同一个pv,但你可以在两个不同的pod中使用相同的pvc.

volumes:
- name: nfsvol-2
  persistentVolumeClaim:
    claimName: nfs-pvc-1 <-- USE THIS ONE IN BOTH PODS

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...