You want to implement access modes: ReadWriteMany yes there are some option like you can use NFS or Gluster FS cluster.
if you just want do read option you can add the disk PD : https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/readonlymany-disks access mode will be : readonlymany
You can use the File store : https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes
Also you can use the cloud volume services : https://cloud.google.com/solutions/partners/netapp-cloud-volumes/overview (NFS & SMB)
If you just want readonlymany you can go with disk however if you want to perform write operation also you have to use NFS.
Cloud Filestore example :
First create a Filestore instance.
gcloud filestore instances create nfs-server
--project=[PROJECT_ID]
--zone=us-central1-c
--tier=STANDARD
--file-share=name="vol1",capacity=1TB
--network=name="default",reserved-ip-range="10.0.0.0/29"
Then create a persistent volume in GKE.
apiVersion: v1
kind: PersistentVolume
metadata:
name: fileserver
spec:
capacity:
storage: storage
accessModes:
- ReadWriteMany
nfs:
path: /file-share
server: ip-address
[IP_ADDRESS] will be available in the filestore console.
Now create persistent volume claim.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: fileserver-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
volumeName: fileserver
resources:
requests:
storage: storage
Finally, mount the volume in your pod.
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: container-name
image: image-name
volumeMounts:
- mountPath: mount-path
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:
claimName: claim-name
readOnly: false
Document : https://cloud.google.com/filestore/docs/accessing-fileshares