<p>I'm sporting a fresh <strong>Minikube</strong> install on an <strong>ArchLinux</strong> box, using <strong>Docker</strong> as the <strong>Minikube</strong> driver.</p>
<p>I started the <strong>minikube</strong> &quot;cluster&quot; using the <code>minikube start</code> command. <code>docker container ls</code> tells us it's up and running:</p>
<pre><code>CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS          PORTS                                                                                                                                  NAMES
d86070af0c21   gcr.io/k8s-minikube/kicbase:v0.0.28   &quot;/usr/local/bin/entr…&quot;   50 minutes ago   Up 50 minutes   127.0.0.1:49162-&gt;22/tcp, 127.0.0.1:49161-&gt;2376/tcp, 127.0.0.1:49160-&gt;5000/tcp, 127.0.0.1:49159-&gt;8443/tcp, 127.0.0.1:49158-&gt;32443/tcp   minikube
</code></pre>
<p>I'm trying to run a simple <strong>nginx</strong> pod, using this command: <code>kubectl run my-nginx --image nginx</code></p>
<p>Since I'm pulling a public image from a public repo, I would expect I don't need any authentication. But the <code>describe pod</code> sub-command shows:</p>
<pre><code>Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  47s                default-scheduler  Successfully assigned default/my-nginx to minikube
  Normal   BackOff    31s                kubelet            Back-off pulling image &quot;nginx&quot;
  Warning  Failed     31s                kubelet            Error: ImagePullBackOff
  Normal   Pulling    19s (x2 over 46s)  kubelet            Pulling image &quot;nginx&quot;
  Warning  Failed     4s (x2 over 31s)   kubelet            Failed to pull image &quot;nginx&quot;: rpc error: code = Unknown desc = Error response from daemon: Get &quot;https://registry-1.docker.io/v2/&quot;: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     4s (x2 over 31s)   kubelet            Error: ErrImagePull
</code></pre>
<p>When I try to <strong>curl</strong> the URL found in the error message from inside the <strong>minikube</strong> container, it shows that authentication is needed:</p>
<pre><code>patres@arch:~$ minikube ssh                                                                        

docker@minikube:~$ curl https://registry-1.docker.io/v2/
{&quot;errors&quot;:[{&quot;code&quot;:&quot;UNAUTHORIZED&quot;,&quot;message&quot;:&quot;authentication required&quot;,&quot;detail&quot;:null}]}
</code></pre>
<p>When I try to pull that very image from host using <code>docker pull nginx</code> command, the image gets pulled, no auth required.</p>
<p>I also tried to create a <strong>kubernetes</strong> secret this way, then launching the pod using YAML with that secret, but it was to no avail.</p>
<pre><code>kubectl create secret docker-registry regcred --docker-server=https://registry-1.docker.io/v2/ --docker-username=myusername --docker-password=mypass --docker-email=my@email.com
</code></pre>
<p>Finally, it seems like the issue might not be unique to <strong>DockerHub</strong>, since if I follow
the official <strong>minikubes</strong> <a href="https://minikube.sigs.k8s.io/docs/start/" rel="nofollow noreferrer">documentation</a> and launch the default <code>hello-minikube</code> deployment:</p>
<pre><code>kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
</code></pre>
<p>I get the same <code>ImagePullBackOff</code> error:</p>
<pre><code>$ kubectl get pod hello-minikube-6ddfcc9757-zdzz2                                           
NAME                              READY   STATUS             RESTARTS   AGE
hello-minikube-6ddfcc9757-zdzz2   0/1     ImagePullBackOff   0          6m11s
</code></pre>

<p>The problem got resolved by one of these actions (not sure by which exactly):</p>
<ul>
<li>terminating my VPN connection</li>
<li>deleting the <strong>minikube</strong> container and image</li>
<li>rebooting my computer</li>
<li>starting anew with <code>minikube start</code></li>
</ul>
