如何让多个 pod 访问 Kubernetes 中现有的 NFS 文件夹?

Ben*_*Hao 5 nfs kubernetes

我在网络上有一个 TFRecords 文件夹,我想将其公开给多个 Pod。该文件夹已通过 NFS 导出。

我尝试创建一个持久卷,然后创建一个持久卷声明。但是,这只是在 NFS 挂载中创建了一个文件夹,这是我不想要的。相反,我想让 Pod访问包含 TFRecords 的文件夹。

我列出了 PV 和 PVC 的清单。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-tfrecord-pv
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /media/veracrypt1/
    server: 1.2.3.4
    readOnly: false
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-tfrecord-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-tfrecord
  resources:
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

Ben*_*Hao 4

我想到了。问题是我以错误的方式看待问题。我不需要任何配置。相反,我们需要的只是在容器内挂载 NFS 卷:

kind: Pod
apiVersion: v1
metadata:
  name: pod-using-nfs
spec:
  containers:
    - name: app
      image: alpine
      volumeMounts:
      - name: data
        mountPath: /mnt/data
      command: ["/bin/sh"]
      args: ["-c", "sleep 500000"]
  volumes:
  - name: data
    nfs:
      server: 1.2.3.4
      path: /media/foo/DATA
Run Code Online (Sandbox Code Playgroud)