<p>I am doing the <a href="https://training.linuxfoundation.org/training/kubernetes-for-developers-lfd259-ckad-exam-bundle/" rel="nofollow noreferrer">CKAD course from the Linux Foundation (LFD259)</a></p>
<p>In Lab 3.2. (Configure a Local Repository) we spin up a local unsecured registry from which k8s would pull the simple app image. However, I am unable to make it work.</p>
<p>So, before creating the deployment everything seems to be in order:</p>
<pre><code>student@master:~$ curl 10.97.82.186:5000/v2/_catalog
{&quot;repositories&quot;:[&quot;simpleapp&quot;]}
student@master:~$ k get deploy
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
nginx      1/1     1            1           118m
registry   1/1     1            1           118m
student@master:~$ k get pod
NAME                       READY   STATUS    RESTARTS      AGE
nginx-6488f757bc-cf4q4     1/1     Running   1 (51m ago)   118m
registry-d4cf9fd7d-qj6tn   1/1     Running   1 (51m ago)   118m
student@master:~$ sudo podman images
REPOSITORY                   TAG         IMAGE ID      CREATED      SIZE
localhost/simpleapp          latest      bb19ffc6050a  2 hours ago  943 MB
10.97.82.186:5000/simpleapp  latest      bb19ffc6050a  2 hours ago  943 MB
docker.io/library/python     3           e285995a3494  8 days ago   943 MB
10.97.82.186:5000/tagtest    latest      9c6f07244728  6 weeks ago  5.83 MB
student@master:~$ echo $repo
10.97.82.186:5000
student@master:~$
</code></pre>
<p>Let us create the deployment as per the lab instructions:</p>
<pre><code>student@master:~$ k create deployment try1 --image=$repo/simpleapp
deployment.apps/try1 created
student@master:~$ k describe pod try1-5f97db4fb8-j9csw |grep Failed
  Warning  Failed     11s                kubelet            Failed to pull image &quot;10.97.82.186:5000/simpleapp&quot;: rpc error: code = Unknown desc = failed to pull and unpack image &quot;10.97.82.186:5000/simpleapp:latest&quot;: failed to resolve reference &quot;10.97.82.186:5000/simpleapp:latest&quot;: failed to do request: Head https://10.97.82.186:5000/v2/simpleapp/manifests/latest: http: server gave HTTP response to HTTPS client
  Warning  Failed     11s                kubelet            Error: ErrImagePull
  Warning  Failed     10s (x2 over 11s)  kubelet            Error: ImagePullBackOff
student@master:~$
</code></pre>
<p>What I find suspicious is the url <code>https://10.97.82.186:5000/v2/simpleapp/manifests/latest</code> - no way https is going to work here.</p>
<p>How do we fix it?</p>
<p>P.S.</p>
<p>Also posted the question here - <a href="https://forum.linuxfoundation.org/discussion/862137/k8s-unable-to-pull-image-from-the-local-unsecured-registry" rel="nofollow noreferrer">https://forum.linuxfoundation.org/discussion/862137/k8s-unable-to-pull-image-from-the-local-unsecured-registry</a></p>
<p><strong>EDIT 1</strong></p>
<p>To work with a local image registry we are instructed to modify the following two files:</p>
<p><strong>/etc/containers/registries.conf.d/registry.conf</strong></p>
<pre><code>student@master:~$ cat /etc/containers/registries.conf.d/registry.conf
[[registry]]
location = &quot;10.97.82.186:5000&quot;
insecure = true
student@master:~$
</code></pre>
<p><strong>/etc/containerd/config.toml</strong></p>
<pre><code>student@master:~$ diff -U3 /etc/containerd/config.toml /etc/containerd/config.toml.orig
--- /etc/containerd/config.toml 2022-09-21 21:22:37.032171446 +0000
+++ /etc/containerd/config.toml.orig    2022-09-22 03:35:37.032007211 +0000
@@ -152,9 +152,6 @@

       [plugins.&quot;io.containerd.grpc.v1.cri&quot;.registry.mirrors]

-      [plugins.&quot;io.containerd.grpc.v1.cri&quot;.registry.mirrors.&quot;*&quot;]
-        endpoint = [&quot;10.97.82.186:5000&quot;]
-
     [plugins.&quot;io.containerd.grpc.v1.cri&quot;.x509_key_pair_streaming]
       tls_cert_file = &quot;&quot;
       tls_key_file = &quot;&quot;
student@master:~$
</code></pre>

mark
<p>You can try to set &quot;http&quot; protocol explicitly in your endpoint url i.e.</p>
<pre><code>-      [plugins.&quot;io.containerd.grpc.v1.cri&quot;.registry.mirrors.&quot;*&quot;]
-        endpoint = [&quot;http://10.97.82.186:5000&quot;]
</code></pre>
