<p>On an on-premise Kubernetes Cluster, how to use locally build images in the Kubernetes deployment manifest without having it uploaded to a Docker Registry (like Docker Hub)?</p>

<p>Except for some very limited developer-oriented setups (like Minikube or Kind), a Docker registry of some form is basically required to run applications on Kubernetes.</p>

<p>The only two ways to get a Docker image on to a system are by running a registry, or to <code>docker load</code> it.  The <code>docker load</code> path involves transferring a (possibly large) image tar file to <em>every</em> node in the cluster, and running the <code>load</code> command there.  When you update the application image, you'll have to repeat this step; and you generally want to avoid the <code>latest</code> image tag and similar fixed strings so that the Kubernetes deployment mechanism can correctly update things, so you'll have to repeat this for each version anything in the cluster might still be using.  The mechanics of setting up some place to store the image, copying it to every node in the cluster, running <code>docker load</code> everywhere, <em>etc.</em> aren't actually any easier than just running a Docker registry server yourself.</p>
