<p>I migrated our docker registry that was running on an external dedicated server into our Kubernetes cluster </p>

<p>Now I can still push and pull images to the registry from every external machine but when I try to deploy images from the registry to the Kubernetes cluster itself it is not able to pull it. I get the following error log:</p>

<pre><code> Warning  Failed                 47s (x3 over 1m)  kubelet, gke-kube-1-default-pool-c5e11d0f-zxm8  Failed to pull image "myregistry.example.com/appimage:1": rpc error: code = Unknown desc = Error response from daemon: Get https://myregistry.example.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
 Warning  Failed                 47s (x3 over 1m)  kubelet, gke-kube-1-default-pool-c5e11d0f-zxm8  Error: ErrImagePull
</code></pre>

<p>The registry is configured to be accessible via <a href="https://myregistry.example.com" rel="noreferrer">https://myregistry.example.com</a> by a traefik ingress controller and it looks like Kubernetes is internally trying to take a different route?</p>

<p>It's an odd path, but it should work, but taking a wild guess it looks like a <a href="https://github.com/docker/for-win/issues/611" rel="nofollow noreferrer">DNS issue</a>. (It works for me connecting to an externally facing service). Some things to look at:</p>

<ul>
<li>Can you resolve <code>myregistry.example.com</code> from any other running pod?</li>
<li>What does the <code>/etc/resolv.conf</code> look like?</li>
<li>What about your K8s nodes <code>/etc/resolv.conf</code></li>
<li>Can you resolve <code>myregistry.example.com</code> from your nodes?</li>
</ul>
