<p>Currently GCEPersistentDisk does not support ReadWriteMany natively, there are other options like filestore which creates a NFS volume, but there are 2 problem here:</p>
<ol>
<li><p>minimum 1 TB size is needed to be created</p>
</li>
<li><p>secondly its a manually effort of creating PVs and then PVCs</p>
</li>
</ol>
<p>Whats the best solutions for dynamically allocating a claim request in GKE ?</p>

<p>If you have requirement of dynamic provising with you can alos try using the <a href="https://www.gluster.org/" rel="nofollow noreferrer">Gluster</a> FS or <a href="https://min.io/" rel="nofollow noreferrer">Minio</a>.</p>
<p>here is one nice example using the GlusterFS dynamic provisioning : <a href="https://docs.openshift.com/container-platform/3.9/install_config/storage_examples/gluster_dynamic_example.html" rel="nofollow noreferrer">https://docs.openshift.com/container-platform/3.9/install_config/storage_examples/gluster_dynamic_example.html</a></p>
<p>you have to create the <strong>storageclass</strong></p>
<pre><code>kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: glusterfs
provisioner: kubernetes.io/glusterfs
parameters:
  resturl: &quot;http://10.42.0.0:8080&quot; 
  restauthenabled: &quot;false&quot;
</code></pre>
<p>and create the <strong>PVC</strong> with specific <strong>storageclass</strong></p>
<pre><code>apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gluster1
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 30Gi
  storageClassName: glusterfs
</code></pre>
<p>Also, <strong>You can create Filestore file shares between 1 and 63.9 TiB</strong>
and <strong>dynamic provisioning</strong>:  <a href="https://cloud.google.com/community/tutorials/gke-filestore-dynamic-provisioning" rel="nofollow noreferrer">https://cloud.google.com/community/tutorials/gke-filestore-dynamic-provisioning</a></p>
