<p>I have a Kubernetes deployment which uses image: <code>test:latest</code> (not real image name but it's the latest tag).
This image is on docker hub. I have just pushed a new version of <code>test:latest</code> to dockerhub. I was expecting a new deployment of my pod in Kubernetes but nothing happends.</p>

<p>I've created my deployment like this:</p>

<pre><code>kubectl run sample-app --image=`test:latest` --namespace=sample-app --image-pull-policy Always
</code></pre>

<p>Why isn't there a new deployment triggered after the push of a new image?</p>

<p>Kubernetes is <strong>not</strong> watching for a new version of the image. The image pull policy specifies how to acquire the image to run the container. <code>Always</code> means it will try to pull a new version each time it's starting a container. To see the update you'd need to delete the Pod (not the Deployment) - the newly created Pod will run the new image.</p>

<p>There is no direct way to have Kubernetes automatically update running containers with new images. This would be part of a continuous delivery system (perhaps using <code>kubectl set image</code> with the new sha256sum or an image tag - but not <code>latest</code>).</p>
