Pour faire ses propres travaux (que ce soit autoformation, ou tests de containers/cluster), microk8s est globalement fonctionnel. Mais si on veut faire son propre container docker, il faut l'uploader sur une registry.

Il eiste plusieurs scénarios

docker hub

Si vous avez un compte docker hub, vous pouvez avoir vos cointainer hébergés la bas, mais il vous faudra passer par des secrets pour l'authentification sur le hub pour rappatrier vos paquets

section à rajouter ???

Utilisation d'une registry locale

vous pouvez heberger votre propre registry, pour cela lancez le container docker-registry comme suit :

docker run -d --restart always \
  --cpus 0.1 \
  -p 5000:5000 \
  --name registry \
  -v [path-to-your-permanent-registry]:/var/lib/registry \
  registry:2

l'utilisation d'un volume monter vous permet de conserver vos images en cas de destruction/recréation de container.

A partir de la vous pouvez tagger vos images "localhost:5000/container" puis les pusher sur la registry.

Mais k8s ne pourra pas les puller, car par défaut il veut des registry en https.

Il faut l'aiguiller, pour cela éditer le fichier /var/snap/microk8s/current/args/containerd-template.toml

dans la section des registry :

    [plugins.cri.registry]
      [plugins.cri.registry.mirrors]
        [plugins.cri.registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]
        [plugins.cri.registry.mirrors."localhost:32000"]
          endpoint = ["http://localhost:32000"]

ajoutez :

        [plugins.cri.registry.mirrors."local.insecure-registry.io"]
          endpoint = ["http://192.168.1.30:5000"]

Vous pouvez maintenant utiliser local.insecure-registry.io/container comme image pour vos pods !