<p>Want to understand how pod1 claimed PVC with <code>accessMode: ReadWriteOnce</code> is able to share with pod2 when <code>storageclass glusterfs</code> is created?Shouldn't it fail as I need to specify the <code>accessMode</code> as <code>ReadWriteMany</code>?</p>

<p>-> Created <code>storageclass</code> as <code>glusterfs</code> with <code>type:distributed</code></p>

<p>-> PV created on top of the <code>storageclass</code> above and pvc is done with <code>AccessMode: ReadWriteOnce</code></p>

<p>-> First Pod attached the above PVC created</p>

<p>-> Second Pod trying to attach the same PVC created and it does work and able to access the files which first pod created</p>

<p>Tried another flow without a <code>storageclass</code> and directly creating PVC from the cinder storage and the below error shows up,</p>

<p><code>Warning  FailedAttachVolume  28s   attachdetach-controller  Multi-Attach error for volume "pvc-644f3e7e-8e65-11e9-a43e-fa163e933531" Volume is already used by pod(s) pod1</code></p>

<p>Trying to understand why this is not happening when the <code>storageclass</code> is created and assigned to PV? </p>

<p>How I am able to access the files from the second pod when the <code>AccessMode: ReadWriteOnce</code>?
According to k8s documentation if multiple pods in different nodes need to access it should be ReadWriteMany. </p>

<p>If <code>RWO</code> access mode works then is it safe for both the pods to read and write? Will there be any issues?
What is the role of <code>RWX</code> if <code>RWO</code> works just fine in this case?</p>

<p>Would be great if some experts can give an insight into this. Thanks.</p>

<p>Volumes are <code>RWO</code> per node, not per Pod. Volumes are mounted to the node and then bind mounted to containers. As long as pods are scheduled to the same node, <code>RWO</code> volume can be bind mounted to both containers at the same time.</p>
