aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2020-12-28-k8s-private-registry.md
blob: 6706da7e0dc59f40354d47252654eebc71723368 (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
56
---
title: "K8S private gitlab registry using podman"
date: 2021-12-28
tags: ['kubernetes', 'linux', 'podman', 'gitlab', 'k3s']
---

This is based on [Log in to Docker
Hub](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).
It is just a bit different to use podman

First we should take a look at podman-login man page:

``` bash
man podman login
```

It will give some valueable information like the location of auth.json
file. Now we can login using podman:

``` bash
podman login registry.gitlab.com
```

Then check the `auth.json` file located at
`${XDG_RUNTIME_DIR}/containers/auth.json` (as described by the manual).

``` bash
cat "${XDG_RUNTIME_DIR}/containers/auth.json"
```

It will print your auth config:

``` json
{
    "auths": {
        "registry.gitlab.com": {
            "auth": "..."
        }
    }
}
```

Now copy that file over to the server and register it in k8s with the
following command:

``` bash
kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=auth.json \
    --type=kubernetes.io/dockerconfigjson
```

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