<p>I'm developing a SaaS solution on GCP, service mainly running GKE. Service will provide each user with a private space on disk (folder to keep their files and folder).</p>
<p>Technical requirements:</p>
<ul>
<li>Mount with ReadWriteMany to multiple pods</li>
<li>The number of users: around a few hundred thousand.</li>
<li>Each user's private storage size will be pretty small around a few hundred MB each up to a few GB max. But the number of files will be pretty huge, ~ few thousands to hundred thousand</li>
<li>File access will be mostly small reads and writes.</li>
<li>There will be symbolic links to a shared system folder, but no symbolic link between users' folders.</li>
</ul>
<p>I currently implement an NFS solution based on <a href="https://github.com/kubernetes-retired/external-storage/tree/master/nfs" rel="nofollow noreferrer">this</a>, which is a pain to manage and the project is no longer maintained. I have to manually increase the size of backing PVC and restart all the pods that the PV is mounted in case I need to expand the storage capacity.</p>
<p>Filestore seems to be a very good alternative, but the cost is a big problem as it only allows minimum 1TB storage to be provisioned.</p>
<p>I'm looking for a solution that is easy to manage, good-enough performance and cost-effective. Any recommendation is appreciated.</p>
<p>Thank you very much.</p>

<p>You didn't specify what your end goal is but some alternatives:</p>
<ul>
<li><a href="https://github.com/mappedinn/kubernetes-nfs-volume-on-gke" rel="nofollow noreferrer">A set of more recent YAML files</a></li>
<li><a href="https://rook.io/" rel="nofollow noreferrer">Rook</a> (CSI)</li>
<li><a href="https://ceph.io/" rel="nofollow noreferrer">Ceph</a></li>
<li><a href="https://www.gluster.org/" rel="nofollow noreferrer">Glusterfs</a></li>
<li><a href="https://openebs.io/" rel="nofollow noreferrer">OpenEBS</a></li>
<li><a href="https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/" rel="nofollow noreferrer">Kubernetes support for gce volume resizing</a>.</li>
</ul>
<p>Some of the solutions above will still involve restarting the pods.</p>
<p>✌️</p>
