<p>I am trying to understand whether Kubernetes redeploys in case of rolling updates if we have same version of docker images.</p>
<p>Suppose in a deployment we have 5 images (applications)</p>
<ul>
<li>and if I want to update only say 1 application and update only that image</li>
</ul>
<p>will the other applications which is already using the latest version (we can use the pull policy to be &quot;IfNotPresent&quot;) be updated/the pods running the latest version of the other apps be rolled out to new pods? or because they are already running the latest images be left as is?</p>
<p>Essentially what I am trying to ask is if we have say 50 applications and we are using kubernetes with helm charts, if we want to update only 1 application and make sure other application pods are not affected at all, what would be the deployment strategy?</p>

<p>If you use the &quot;<em>latest</em>&quot; tag in combination with Pull Policy &quot;<em>IfNotPresent</em>&quot;, K8s will just use whatever Docker images it finds <strong>in the local Docker Registry of the worker nodes.</strong> This effectively renders the deployment of new version impossible.</p>
<p>To answer your question: there is no way you can <strong>permanently</strong> update only one <em>Pod</em> of a <em>Deployment</em>. You could do so <strong>temporarily</strong> by editing one of the Pods directly, but this will be overwritten, once there is a redeployment.</p>
<p>If the configuration needs to be permanent, you could create a <strong>separate deployment</strong> for applications with the new image. Make sure to use labels in order to get the <em>Service</em> of the application to forward traffic to it as well as the other <em>Deployment</em>.</p>
<p>Also, for <strong>deterministic behavior</strong> and ability to run different versions of the same application for different deployment, you will have to <strong>stop using the <em>&quot;latest&quot;</em> tag</strong>.</p>
