title: Elasticsearch on Kubernetes - best practice
body: <p>I am going to prepare deployment configuration for Elasticsearch (elasticsearch-oss image). I found multiple non-official docs and tutorials about Elasticsearch on Kubernetes. 
  I wonder which deployment way is the best and safest. I found 3 differend ways:</p>
  
  <ol>
  <li><p>Deployment using statefulset <strong>without division into master/data/client nodes</strong>. In this solution, I need to define: discovery.seed_hosts and cluster.initial_master_nodes in env config. This is further described in <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes" rel="nofollow noreferrer">https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes</a></p></li>
  <li><p>Deployment using statefulset <strong>with division into master/data nodes</strong> (example: <a href="https://engineering.udacity.com/high-performance-elk-with-kubernetes-part-1-1d09f41a4ce2" rel="nofollow noreferrer">https://engineering.udacity.com/high-performance-elk-with-kubernetes-part-1-1d09f41a4ce2</a>)</p></li>
  <li><p>Deployment using statefulset <strong>with division into master/data/client nodes</strong>.</p></li>
  </ol>
  
  <p>In my case, I would like to have 1 master node and 2 data nodes. Which solution is best? 
  Can you provide some good resources that describe elasticsearch deployment?</p>
  
  <p>Thanks</p>