In order to run a load test of an application I’m developing, I’m creating a Google Container Engine (GKE) cluster, create a couple of persistent disks, run a whole bunch of kubectl commands, run my benchmark, save the results, then delete the GKE cluster again.
The kubectl commands are responsible for labeling a subset of nodes of the GKE cluster (to guarantee that they only run my application, whereas the benchmark infrastructure is on the remainder of nodes) and creating secrets, replication controllers and services.
I’m looking for a way to automate all of this. I know that I could write a custom program which does all of this for me, but I’m wondering if there already is such a program.
I’ve briefly looked into https://www.terraform.io/, but it looks like that would only cover the GKE setup, not the Kubernetes resources.
Is the way to go to combine terraform and a script which runs kubectl commands? Or are there other tools for orchestrating Kubernetes?