<p>This question follows on from <a href="https://stackoverflow.com/q/35364367/2408961">this</a> one regarding PV, PVC's and shared volumes.</p>

<p>I'm trying to get my head around what the best practices are regarding the provisioning of PV's for a NFS shared volume in a K8/OpenShift cluster.</p>

<p>As an example, let's say I have a 100GB NFS volume shared at <code>/storage</code>.
What is the recommended way to carve that volume up as PV's?</p>

<ul>
<li>Create a group of say 2 x 20GB (pvlarge01 - 02) and 6 x 10GB (pvsmall01 - 06) PV's which can support disparate large and small claims</li>
<li>or, create one big PV of 100GB capacity and then just have one PVC that get's shared among pods (this feels wrong...)</li>
<li>or ?</li>
</ul>

<p>The fact that you cannot target PVC's to specific PV's (well, until <a href="https://github.com/kubernetes/kubernetes/pull/17056" rel="nofollow noreferrer">PersistentVolumeSelector</a> is available) freaks me out a bit, in that my natural inclination is to want to target PVC's to specific PV's based on application need.</p>

<p>Would love to hear how the community is handling this in production environments?</p>

<p>I've seen people use a mix of strategies, but the former (carving into tiers of sizes) is a good place to start.  You can use an annotation to target a PV to a PVC if you are planning app and PV at the same time, but if you aren't using dynamic provisioning the tiered sizes will at least give you a chance to split those up.  </p>

<p>Mostly this comes down to planning what users need - NFS at least benefits that you can lie about size up front ant manage quota on the backend.  I know of a few people who have done very very small NFS volumes (100M) and simply scaled those up as necessary.</p>
