<p>Sorry if the question is a bit abstract but I am currently getting into GCP.</p>

<p>First of all my goal - I want to set up automatic creation of kubernetes cluster with a number of pods.</p>

<p>What I have so far - I have past few days looking in the GCP and Kubernetes documentation as well as some examples. I have two working bits:</p>

<ol>
<li><p>I have created a cluster config with yaml and jinja files and I
can use deployment manager to set them up.</p>

<pre><code>gcloud deployment-manager deployments create my-config --config my-config.yaml
</code></pre></li>
<li><p>I have created another configuration yaml file which uses a docker image stored in the GCP Container Registry to start some pods on the cluster above (which again works fine)</p>

<p>kubectl apply -f image-config.yaml --record</p></li>
</ol>

<p>My question is is it possible to combine somehow the above into a single config file and start everything up with a single command?
Or if you can point me in the direction of some appropriate example.</p>

<p>The <a href="https://agones.dev" rel="nofollow noreferrer">Agones</a> project accomplishes this task using a combination of <a href="https://www.terraform.io" rel="nofollow noreferrer">Terraform</a> and <a href="https://helm.sh" rel="nofollow noreferrer">Helm</a> as described in the <a href="https://agones.dev/site/docs/installation/terraform/" rel="nofollow noreferrer">Install with Terraform documentation</a>. There is a single command which builds a GKE cluster and also installs an application into the cluster (e.g. runs some pods). </p>

<p>If you don't want to use Helm and build a full installer for your pods, you can also look at using the <a href="https://www.terraform.io/docs/providers/kubernetes/index.html" rel="nofollow noreferrer">Kubernetes Provider</a> to run some simple applications once the cluster has been deployed (check out the <a href="https://www.terraform.io/docs/providers/google/r/container_cluster.html" rel="nofollow noreferrer">google_container_cluster</a> configuration in the GCP provider). </p>
