<p>In my Microservices architecture i have a helm chart by microservice used to deploy it in Kubernetes, every microservice/chart has 3 pods</p>

<pre><code>-helm
  - chart.yaml
  - values.yaml
  - templates
    - nginx-deployment.yaml
    - nginx-service.yaml
    - php-deployment.yaml
    - php-service.yaml
    - varnish-deployment.yaml
    - varnish-service.yaml
</code></pre>

<p>when i execute </p>

<pre><code>helm upgrade --install my-analyzer ./helm/
</code></pre>

<p>the three pod are updated (So far it's fine)
My question :
how can i do with Helm to upgrade only one or two pods a time and not touch the others
exemple : upgrade nginx and varnish but keep php without changes</p>

Inforedaster
<p>I've missunderstood your question. I have edited my answer.</p>

<p>Unfortunately it is impossible to achieve that in <a href="https://helm.sh/docs/" rel="nofollow noreferrer">Helm</a>. </p>

<p>Each time you are upgrading <code>Helm</code> its creating new <code>Release</code>. Its going throught all YAMLs in <code>Chart</code> and deploying everything what have inside based on <a href="https://github.com/helm/helm/blob/9ad53aac42165a5fadc6c87be0dea6b115f93090/pkg/tiller/kind_sorter.go#L29" rel="nofollow noreferrer">this order</a>.</p>

<p>You can use <code>IF</code> statement in YAML if you want to execlude something from deploying. Example can be found on <a href="https://github.com/helm/charts/blob/master/stable/postgresql/README.md" rel="nofollow noreferrer">Github</a>.</p>

<p>In <a href="https://github.com/helm/charts/blob/master/stable/postgresql/templates/svc-read.yaml" rel="nofollow noreferrer">this</a> service, on the beginning of the YAML you can see if statement in 1st line:</p>

<pre><code>{{- if .Values.replication.enabled }}
</code></pre>

<p>However if 1st <code>Release</code> will contain specific deployments in templates and 2nd will not, Helm will delete objects from 1st <code>release</code> which were not included in 2nd.</p>

<p>Only thing what you could change is use <code>helm upgrade</code> with <code>--set</code> flag which can overwrite some default values.</p>

<p>You can also consider advse from Alireza Davoodi or VAS about change pipeline logic.</p>
