<p>I want to update my pod because there is a new image uploaded to docker registry with <code>latest</code> tag.</p>
<p>I am currently doing this:</p>
<pre><code>kubectl delete -f deployment.yaml
kubectl apply -f deployment.yaml
</code></pre>
<p>If I do:</p>
<pre><code>kubectl apply -f deployment.yaml
</code></pre>
<p>It says my deployment is unchanged.</p>
<p><strong>However, I want make my service alive even for a second. Isn't there a way I could do something like the following?</strong></p>
<pre><code>kubectl re-apply -f deployment.yaml
</code></pre>

<p>You can just delete the POD once and restart the POD so it will change the image and pull new version from docker registry.</p>
<p>However, make sure <code>imagePullPolicy</code> set to <strong>always</strong> in your <code>deployment.yaml</code></p>
<p>Or else you need to update one minor field into <code>deployment.yaml</code> and keep <code>imagePullPolicy</code> to <strong>always</strong> in that case apply will change the deployment.</p>
<p><strong>Example</strong> :</p>
<pre><code>spec:
  containers:
  - name: test
    image: image:latest
    ports:
    - containerPort: 80
    imagePullPolicy: Always
  imagePullSecrets:
    - name: docker-secret
</code></pre>
<p><strong>Option 2</strong></p>
<pre><code>kubectl rollout restart deployment/&lt;deployment-name&gt;
</code></pre>
<p>Read more at : <a href="https://stackoverflow.com/questions/33112789/how-do-i-force-kubernetes-to-re-pull-an-image">How do I force Kubernetes to re-pull an image?</a></p>
