<p>A question that I can’t seem to find a good answer to and am so confused as to what should be an easy answer. I guess you can say I can't see the forest for the trees.</p>
<p>I have N Pods that need access to the same shared FILE SYSTEM (contains 20Gig of pdfs, HTML) only read. I don’t want to copy it to each Pod and create a Volume in Docker. How should I handle this? I don’t see this as a Stateful App where each pod gets its own changed data.</p>
<ul>
<li><p>Node-0</p>
<ul>
<li>Pod-0
<ul>
<li>Java-app  - NEED READ ACCESS TO SHARED FILE SYSTEM</li>
</ul>
</li>
</ul>
</li>
<li><p>Node-1</p>
<ul>
<li>Pod-1
<ul>
<li>Java-app  - NEED READ ACCESS TO SHARED FILE SYSTEM</li>
</ul>
</li>
</ul>
</li>
<li><p>Node-2</p>
<ul>
<li>Pod-2
<ul>
<li>Java-app  - NEED READ ACCESS TO SHARED FILE SYSTEM</li>
</ul>
</li>
</ul>
</li>
</ul>

user3008410
<p>The question is quite open-ended. However having gone through this thought process recently, I can come up with two options:</p>
<ol>
<li><p><a href="https://kubernetes.io/docs/concepts/storage/volumes/#hostpath" rel="nofollow noreferrer"><strong>hostPath</strong></a>: You mount this data (probably from NFS or some such) at <code>/data</code> (for example) on all your Kubernetes nodes. Then in Pod specification, you attach volume of type <code>hostPath</code> with <code>path: /data</code>.</p>
</li>
<li><p><a href="https://kubernetes.io/docs/concepts/storage/volumes/#glusterfs" rel="nofollow noreferrer"><strong>GlusterFS volume</strong></a>: This is the option we finally went for, for high availability and speed requirements. The same GlusterFS volume (having the PDFs, data, etc.) can be attached to multiple Pods.</p>
</li>
</ol>
