aboutsummaryrefslogtreecommitdiff
path: root/content/posts/K8S_private_gitlab_registry_using_podman.html
blob: 97b525af9b63d5d30701d40caf72f7fe6fe8b2b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<section>
    <h2>K8S private gitlab registry using podman</h2>
    <p>
        This is based on <a
            href="https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/">Log in to
        Docker Hub</a>. It is just a bit different to use podman.
    </p>
    <p>
        First we should take a look at podman-login man page:
    <pre>
        <code>man podman login</code>
    </pre>
    </p>
    <p>
        It will give some valueable information like the location of auth.json file. Now we can login using podman:
    <pre>
        <code>podman login registry.gitlab.com</code>
    </pre>
    </p>
    <p>Then check the <code>auth.json</code> file located at <code>${XDG_RUNTIME_DIR}/containers/auth.json</code> (as described
        by the manual). It will contain your auth config:
    <pre>
        <code>
{
	"auths": {
		"registry.gitlab.com": {
			"auth": "..."
		}
	}
}
        </code>
    </pre>
    </p>
    <p>
        Now copy that file over to the server and register it in k8s with the following command:
    <pre>
        <code>
kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=auth.json \
    --type=kubernetes.io/dockerconfigjson

        </code>
    </pre>
    </p>
    <p>
        Once you have created you can list by kubectl get secret:
    <pre>
        <code>
NAME     TYPE                                  DATA   AGE
regcred  kubernetes.io/dockerconfigjson        1      53s
        </code>
    </pre>
    </p>

</section>