Reputation: 41
On my k8s i would like to run 3 namespace with the same PV. currently i have one namespace setup how do i configure namespace2 and namespace3?
pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: efs-pv
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: efs-sc
csi:
driver: efs.csi.aws.com
volumeHandle: fs-<582a03f3>
claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: efs-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: efs-sc
resources:
requests:
storage: 1Gi
storageclass.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: efs-sc
provisioner: efs.csi.aws.com
Upvotes: 1
Views: 402
Reputation: 1638
PVC can be put in different namespaces by setting metadata.namespace but PV cannot. PVC will pre-bind to the PV with the same name. My solution is just name PV&PVC pair with different for each name space,eg. efs-pv-namespace1, efs-pv-namespace2.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-caelus
namespace: caelus
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 15Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-caelus
spec:
capacity:
storage: 15Gi
accessModes:
- ReadWriteMany
nfs:
server: 10.100.15.163
path: "/"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-nirvana
namespace: nirvana
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 15Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-nirvana
spec:
capacity:
storage: 15Gi
accessModes:
- ReadWriteMany
nfs:
server: 10.100.15.163
path: "/"
Upvotes: 1