<p>I've done quite a bit of research and have yet to find an answer to this. Here's what I'm trying to accomplish:</p>

<ul>
<li>I have an ELK stack container running in a pod on a k8s cluster in GCE - the cluster also contains a PersistentVolume (format: ext4) and a PersistentVolumeClaim.</li>
<li>In order to scale the ELK stack to multiple pods/nodes and keep persistent data in ElasticSearch, I either need to have all pods write to the same PV (using the node/index structure of the ES file system), or have some volume logic to scale up/create these PVs/PVCs.</li>
<li>Currently what happens is if I spin up a second pod on the replication controller, it can't mount the PV.</li>
</ul>

<p>So I'm wondering if I'm going about this the wrong way, and what is the best way to architect this solution to allow for persistent data in ES when my cluster/nodes autoscale.</p>

<p>Persistent Volumes have access semantics. on GCE I'm assuming you are using a Persistent Disk, which can either be mounted as writable to a single pod or to multiple pods as read-only. If you want multi writer semantics, you need to setup Nfs or some other storage that let's you write from multiple pods. </p>

<p>In case you are interested in running NFS - <a href="https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/nfs/README.md" rel="nofollow">https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/nfs/README.md</a></p>

<p>FYI: We are still working on supporting auto-provisioning of PVs as you scale your deployment. As of now it is a manual process.</p>
