Microk8S et personnal registry docker
Par pepin le samedi, octobre 17 2020, 12:17 - Kubernetes - Lien permanent
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
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 !