我有一个现有的 nfs 服务器,其中包含我的媒体库(视频、音乐等)。
我有一个使用该文件夹的工作舱,安装方式如下:
sudo helm install --generate-name --set nfs.server=192.168.1.2 --set nfs.path=/volume1/medias --set image.repository=quay.io/external_storage/nfs-client-provisioner-arm stable/nfs-client-provisioner
...
mypod.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
namespace: mediasgrabbing-ns
name: nas-medias-nfs-pv
labels:
type: remote
spec:
capacity:
storage: 2Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
nfs:
path: /volume1/medias
server: 192.168.1.2
readOnly: false
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: mediasgrabbing-ns
name: nas-medias-nfs-pvc
labels:
app.kubernetes.io/name: nas-medias-nfs-pv
spec:
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Ti
---
这很有效,我可以看到我的媒体以及在该命名空间中定义的各种 pod。
现在,在不同的命名空间中,我需要访问媒体库进行其他类型的处理。
我天真地以相同的方式声明了 PV/PVC,但使用了不同的名称和不同的命名空间。
但在应用文件时,我可以看到配置程序已创建子文件夹“/volume1/medias/mediascenter-ns-nas-medias-nfs-pvc-pvc-91947c29-c87e-43ba-93af-f5ce147fb32f”。这显然不是我想要的,因为我需要访问媒体,而不是在其中有单独的卷。
问题:
- 为什么配置程序在第二次使用 nfs 共享时创建子文件夹,而第一次使用时却没有创建?
- 如何在来自多个命名空间的多个 pod 中正确使用相同的 nfs 数据卷?
PS:尝试在“默认”命名空间中声明卷并使用两次,但没有成功。