<p>We are trying to implement Presto with Kubernetes. We have a kubernetes cluster running on cloud as a service. I tried to google on this but could not find a conclusive result as to what may be the best practices to deploy Presto with Kubernetes. Though there exists the official github of Presto - but does not help. Below are the two questions I am trying to seek an answer for:</p>
<ol>
<li>What should be the best approach to configure Presto with Kubernetes - metrics such as ideal worker replicas?</li>
<li>How can we go ahead and performance test this deployment?</li>
</ol>

Anshul Verma
<p>You could install with the official helm chart from <a href="https://github.com/helm/charts/tree/master/stable/presto" rel="noreferrer">https://github.com/helm/charts/tree/master/stable/presto</a> It provides an option to set the number of workers. With the official chart you should be able to ask questions in the Kubernetes charts slack channel (through <a href="http://slack.k8s.io" rel="noreferrer">http://slack.k8s.io</a>) and raise issues in GitHub if you hit any. Or there are non-helm examples such as <a href="https://github.com/dharmeshkakadia/presto-kubernetes" rel="noreferrer">https://github.com/dharmeshkakadia/presto-kubernetes</a></p>

<p>The question of how many workers isn't specific to Kubernetes. It's a question of how much and what kind of load you will need the deployment to handle and will also depend on what hardware your Kubernetes cluster is using. If you're not sure then perhaps you can deploy with the defaults and adjust as needed. This is suggested by <a href="https://prestodb.io/presto-admin/docs/current/installation/presto-configuration.html" rel="noreferrer">https://prestodb.io/presto-admin/docs/current/installation/presto-configuration.html</a> You'll find some of the settings such as memory per node set in the Deployment parts of the kubenernetes yaml descriptors or in the values.yaml in the case of the helm chart. </p>

<p>To performance test your deployment you will need test data and can then run queries against the cluster. So the same process you would follow outside of Kubernetes. There are tools to help such as <a href="https://www.lewuathe.com/use-benchto-for-evaluation-of-presto.html" rel="noreferrer">https://www.lewuathe.com/use-benchto-for-evaluation-of-presto.html</a> or <a href="https://github.com/prestodb/tempto" rel="noreferrer">https://github.com/prestodb/tempto</a> You may also want to look at <a href="https://kognitio.com/blog/presto-performance-powerful-or-problematic/" rel="noreferrer">https://kognitio.com/blog/presto-performance-powerful-or-problematic/</a> </p>
