<p>I want to deploy multiple ML models in different pods within the same namespace. But whenever I pull a new image from aws ECR and deploy it using helm it terminates the current running pod and makes a new one. So I am unable to deploy multiple models. Every time it kills the previous one and makes a new pod.</p>

<pre><code>helm upgrade --install tf-serving ./charts/tf-serving/ --namespace mlhub
</code></pre>

<p>OR </p>

<pre><code>helm upgrade --recreate-pods --install tf-serving ./charts/tf-serving/ --namespace mlhub
</code></pre>

<blockquote>
<pre><code>tf-serving-8559fb87d-2twwl        1/1     Running       0          37s  
tf-serving-8559fb87d-m6hgs        0/1     Terminating   0          45s
</code></pre>
</blockquote>

<p>It kills the previous one and makes a new, but the images of both models are different with different tags also.</p>

<p>You can use one Helm chart to create multiple Releases. For example to deploy first model:</p>

<pre><code>helm install ./charts/tf-serving/ --name tf-serving --namespace mlhub
</code></pre>

<p>And if you later want to add another one:</p>

<pre><code>helm install ./charts/tf-serving/ --name tf-serving2 --namespace mlhub
</code></pre>

<p>Now when you run <code>helm list</code> you will be able to see both <code>tf-serving</code> and <code>tf-serving2</code>.</p>

<p>Be aware that you can not have multiple Kubernetes resources of the same Kind with the same name, so I would recommend using <code>{{ .Release.Name }}</code> value in your chart, as a prefix for all deployed resources.</p>
