title: Running multiple pods of go-ethereum with common EFS storage on AWS EKS/kubernetes
body: <p>I am trying to run a go-ethereum node on AWS EKS, for that i have used statefulsets with below configuration.
  <a href="https://i.stack.imgur.com/RxyOt.png" rel="nofollow noreferrer">statefulset.yaml file</a></p>
  <p>Running<code>kubectl apply -f statefulset.yaml</code> creates 2 pods out of which 1 is running and 1 is in CrashLoopBackOff state.
  <a href="https://i.stack.imgur.com/PS6ez.png" rel="nofollow noreferrer">Pods status</a>
  After checking the logs for second pod the error I am getting is <code>Fatal: Failed to create the protocol stack: datadir already used by another process</code>.
  <a href="https://i.stack.imgur.com/J4rqa.png" rel="nofollow noreferrer">Error logs i am getting</a></p>
  <p>The problem is mainly due to the pods using the same directory to write(geth data) on the persistant volume(i.e the pods are writing to '/data'). If I use a subpath expression  and mount the pod's directory to a sub-directory with pod name(for eg: '/data/geth-0') it works fine.
  <a href="https://i.stack.imgur.com/AxXQA.png" rel="nofollow noreferrer">statefulset.yaml with volume mounting to a sub directory with podname
  </a>
  But my requirement is that all the three pod's data is written at '/data' directory.
  Below is my volume config file.
  <a href="https://i.stack.imgur.com/fGegz.png" rel="nofollow noreferrer">volume configuration</a></p>