Images des conteneurs utilisateurs

Pour l’environnement PROVISION, les machines ont besoin d’accéder aux images des conteneurs de travail qui seront déployés pour les utilisateurs.
Trois modes sont disponibles : Online, Proxy, Offline.
Choisissez un seul mode et définissez les variables avant la commande d’installation finale.

Principes généraux

Les variables de registre sont lues par le rôle Ansible reemo-provision.

  • REGISTRY_URL: l’url du registre (ex. registry.reemo.io)

  • REGISTRY_ENV: le préfixe permettant au rôle Ansible de construire les noms d’images au format **REGISTRY_ENV**chromium

  • REGISTRY_USERNAME: nom d’utilisateur fourni par le support Reemo

  • REGISTRY_PASSWORD: mot de passe fourni par le support Reemo

Exemple d’image résultante : registry.reemo.io/reemosbchromium:latest

Optimisation : Préchargement des images (Warmup)

Afin d’éviter un délai de chargement lors de la première connexion d’un utilisateur, l’environnement Provision précharge certaines images. Par défaut, l’image reemosbchromium est préchargée automatiquement (["registry.reemo.io/reemosbchromium"]).

Cependant, si vous souhaitez précharger des images supplémentaires (comme reemosbssh) ou si vous utilisez un registre privé, vous pouvez redéfinir cette variable :

  • PROVISION_IMAGE_WARMUP: Liste (Array) des images complètes à précharger sur les serveurs de provisionning.

Tip

Vérifiez l’espace disque sur chaque noeud. Le chargement d’images peut exiger plusieurs Go libres.

Mode Online

Toutes les machines joignent directement le registre Reemo.

Conditions

  • Sortie HTTPS ouverte vers registry.reemo.io:443.

  • Identifiants fournis par le support Reemo.

Inventaire minimal

all:
    vars:
        REGISTRY_URL: "registry.reemo.io"
        REGISTRY_ENV: "reemosb"
        REGISTRY_USERNAME: "user"
        REGISTRY_PASSWORD: "password"
        PROVISION_IMAGE_WARMUP: ["registry.reemo.io/reemosbchromium","registry.reemo.io/reemosbssh"]

Contrôles rapides

Vérifier la connexion au registre (depuis un noeud)

docker login registry.reemo.io

Vérifier le préfixe utilisé (exemple)

docker pull registry.reemo.io/reemosbchromium:latest

Confirmer la présence de l’image en local

docker image ls

Mode Proxy

Les noeuds accèdent au registre via un proxy HTTP/HTTPS.

Utilisez la même configuration d’inventaire que le mode Online.

Pour déclarer le proxy au niveau du service Docker:

  • Rajoutez la ligne suivante dans la section [Service] du fichier /usr/lib/systemd/system/docker.service

EnvironmentFile=/etc/default/docker
  • Créez le fichier /etc/default/docker et renseignez les infos suivantes:

http_proxy="http://< IP du serveur Proxy >:< Port du service Proxy >"
https_proxy="http://< IP du serveur Proxy >:< Port du service Proxy >"
  • Au niveau du proxy autorisez les 2 urls suivantes:

registry.reemo.io
registry-auth.reemo.io

Mode Offline

Une machine pont avec Internet récupère les images, puis vous les préchargez ailleurs (noeuds ou registre privé).

Scénario A : Tarballs distribués

Sur la machine pont :

docker login registry.reemo.io
docker pull registry.reemo.io/reemosbchrome:latest
docker save registry.reemo.io/reemosbchrome:latest > /tmp/reemosbchrome_latest.tar

Transférez les .tar vers les noeuds puis chargez les sur le noeud :

docker load < reemosbchrome_latest.tar

Scénario B : Registre privé intermédiaire

La machine pont pull depuis registry.reemo.io puis push vers votre registre privé.

Sur les noeuds, configurez :

REGISTRY_URL: "<votre_registre_prive>"
REGISTRY_ENV: "<votre_namespace>"
REGISTRY_USERNAME: "<user_si_requis>"
REGISTRY_PASSWORD: "<password_si_requis>"

Vous pouvez ensuite lancer l’installation en mode Online contre votre registre.