title: Run Perf tests using Jmeter GUI on Kubernetes cluster
body: <p>I have a Jmeter server (using jmeter-maven-plugin) running in a pod in my Kubernetes cluster, which is used to perf test Microservices running in other pods in the same cluster. I usually run perf tests by invoking the server using CLI commands in my terminal (exec into the k8 pod and run tests). This works only if I have Kubernetes authentication. I now have a requirement to allow users without k8 access to invoke the Jmeter server using GUI client instead if CLI. I do not want them to write any test scripts. How can I do that?</p>
  <p>This is what I've been thinking:</p>
  <p>Option 1: The client must also run in k8 and the user must be able to access the client using a browser. I think this is not possible because the Jmeter GUI client is run using a sh script in bin folder(<a href="https://octoperf.com/blog/2018/03/29/jmeter-tutorial/" rel="nofollow noreferrer">https://octoperf.com/blog/2018/03/29/jmeter-tutorial/</a>), not sure how we can host this?</p>
  <p>Option 2: Expose the Jmeter server to outside world, so that users without k8 access can invoke it using this external IP. Tried to follow something like this <a href="https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/" rel="nofollow noreferrer">https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/</a> but will this include the network time in my perf test response times?</p>
  <p>What is the best way to do this and what other possible solutions can I explore? Are there any other perf testing tools that can achieve this easily? Any help is appreciated.</p>