<p>I was checking Kubernetes <a href="https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy" rel="nofollow noreferrer">documentation</a> for pulling images. In that, I saw two policies IfNotPresent and Always. In &quot;Always&quot; its stated that</p>
<blockquote>
<p>If the kubelet has a container image with that exact digest cached locally, the kubelet uses its cached image; otherwise, the kubelet pulls the image with the resolved digest, and uses that image to launch the container.</p>
</blockquote>
<p>I am unable to understand what is local here. Is it a node, pod, or cluster? What is the difference between Always and IfNotPresent if it is at node level? It's very confusing.</p>

<p><code>Always</code> at the name suggests will cause the container runtime to attempt to pull a new version of the image from the repository every time it tries to create the container.</p>
<p>In docker, this is like doing:</p>
<p><code>docker run --pull=always nginx</code></p>
<p><code>IfNotPresent</code> will pull the image if it does not exist <strong>on the node that is attempting to create the container</strong></p>
<p>This is like doing:</p>
<p><code>docker run --pull=missing nginx</code></p>
<p>or</p>
<p><code>docker run nginx</code></p>
