Why cant I mount the same PVC twice with different subpaths to single pod?

1/28/2021

Why cant I have a setup like below. I want to map vol1 to a pod with different subpath has xyz and vol2 to the same pod with subpath abc.

  volumes:
  - name:vol1
    persistentVolumeClaim:
      claimName: testclaim
  - name: vol2
    persistentVolumeClaim:
      claimName: testclaim

containers volume mounts:

  volumeMounts:
    - name: vol1
      mountPath: /test/
      subPath: abc
    - name: vol2
      mountPath: /test2/
      subPath: xyz

What is the alternative for this kind of setup?

-- Sourabh Ninawe
google-kubernetes-engine
kubernetes
kubernetes-pod
persistent-volumes

2 Answers

1/28/2021

Try this

  volumeMounts:
    - name: vol1
      mountPath: /test
      subPath: abc
    - name: vol1
      mountPath: /test2
      subPath: xyz
volumes:
- name: vol1
  persistentVolumeClaim:
    claimName: testclaim
-- Vasili Angapov
Source: StackOverflow

1/28/2021

you can use same PVC in different pods who are in same node. but you can't claim same pvc with different volumes in same pod. and here you don't need to add the pvc in your volumes multiple time . you can just add pvc single time. and mount the volume in different mountPath.

this will be the updated yaml format

volumes:
- name: vol1
  persistentVolumeClaim:
    claimName: testclaim
  volumeMounts:
    - name: vol1
      mountPath: /test
      subPath: abc
    - name: vol1
      mountPath: /test2
      subPath: xyz
-- Emon46
Source: StackOverflow