Images de conteneurs¶
La gestion des images de conteneurs est une fonctionnalité essentielle pour les administrateurs d’instance. Elle permet d’importer, configurer et attribuer des images aux container providers (Swarm ou Kubernetes) afin de rendre disponibles des environnements de travail prêts à l’emploi pour les organisations.
Vue d’ensemble des images¶
La liste des images disponibles est accessible via le menu Images. Chaque image importée apparaît avec son état, son type et sa configuration.
Liste des images de conteneurs.¶
Important
Lorsqu’une image est importée, elle est désactivée par défaut (Disabled) et doit être activée explicitement avant de pouvoir être utilisée. Elle est désactivée par défaut pour vous permettre de la modifier selon vos besoins avant de l’activer.
Import et export d’images¶
Les images peuvent être exportées et importées. Cette fonctionnalité permet de sauvegarder et réutiliser l’intégralité de la configuration d’une image sur une autre instance ou dans un autre contexte.
Export : génère un fichier JSON contenant toutes les informations de l’image, y compris ses variables.
Import : recharge une image à partir d’un JSON précédemment exporté.
Fenêtre d’importation d’une image de conteneur.¶
Configuration d’une image¶
Le profil d’une image regroupe toutes ses informations : référence du registre, état, type, date de création et mise à jour.
Profil détaillé d’une image de conteneur.¶
Variables de configuration¶
Les variables permettent de personnaliser le comportement du conteneur. Elles ont deux rôles principaux :
Variables d’environnement : injectées directement dans le conteneur au moment du lancement.
Formulaire dynamique : elles définissent les champs du formulaire dans la configuration des container profiles côté organisations. Les administrateurs d’organisation peuvent alors configurer des options (champs texte, cases à cocher, listes déroulantes, etc.) définies en amont par l’administrateur d’instance.
Important
Seules les variables marquées comme éditables apparaissent dans le formulaire de configuration côté organisation.
Les autres variables sont invisibles pour les administrateurs d’organisation et transmises en interne au conteneur.
Configuration des variables et propriétés associées.¶
Tip
UI Priority : Chaque variable possède une priorité d’affichage. Plus la valeur est élevée, plus le champ apparaîtra en haut du formulaire des options. Cela permet d’organiser les options dans un ordre spécifique et logique.
Options¶
Type¶
Le type du template, plusieurs types ont différentes utilitées, certains sont destinés à être configurable via les profiles, d’autres sont statiques.
STRING: Du texte
BOOLEAN: true/false (checkbox)
SELECT: Menu déroulant
SELECT_OPTION: Option du menu déroulant
SECRET: secret docker swarm
HOST: ajoute un enregistrement dans le fichier /etc/hosts du conteneur
Name¶
Le nom de la variable qui sera affiché dans un profile
Variable¶
Le nom de la variable d’environnement qui sera envoyé au conteneur ( option -e dans la ligne de commande docker )
Editable¶
Rendre editable cette variable par les comptes d’administration d’organisation
UI Priority¶
Permet d’organiser les champs d’un profile, plus l’UI priority est haute, plus le champ apparait en haut du profile. Permet aussi d’organiser les SELECT_OPTION, la plus haute valeur apparait le plus haut dans la liste
Hint¶
Phrase d’explication sous le champ du template dans un profile
Place Holder¶
Valeur en grisée dans un champ texte pour donner un exemple sans remplir ce champ dans un profile
Default Value¶
La valeur par défaut quand on créé un profile
Condition Variable + Condition Operator + Condition Value¶
Permet d’appliquer une condition sur l’utilisation d’un template en se basant sur la valeur d’un autre template et un opérateur. Par exemple, si je veux que le champ TEMPLATE_1 n’apparaisse que si TEMPLATE_2 == true je peux régler la condition comme ceci dans TEMPLATE_1:
Quelques exemples¶
Name: Home Page
Type: STRING
Variable: REEMO_HOME
Editable: true
UI Priority: 1000
Default Value: https://reemo.io
Ce champ apparait donc tout en haut d’un profile, s’appelle Home Page, a pour défaut https://reemo.io et va remplir la variable d’environnement REEMO_HOME pour le conteneur
Name: REEMO_NO_PROXY
Type: STRING
Variable: REEMO_NO_PROXY
Editable: false
Default value: true
Condition: REEMO_PROXY EQUAL NONE
Ce champ n’apparait pas dans un profile car non editable, il va remplir la variable d’environnement REEMO_NO_PROXY=true à condition que REEMO_PROXY == NONE
Name: REEMO_NO_PROXY (encore)
Type: STRING
Variable: REEMO_NO_PROXY
Editable: false
Default value: true
Condition: REEMO_PROXY EQUAL EXTERNAL
Ce champ n’apparait pas dans un profile car non editable, il va remplir la variable d’environnement REEMO_NO_PROXY=true à condition que REEMO_PROXY == EXTERNAL
Name: Embedded Proxy
Type: SELECT_OPTION
Variable: REEMO_PROXY
Value: EMBEDDED
UI Priority: 9
Ceci est une option de la liste déroulante de REEMO_PROXY, il apparait en deuxième dans la liste car sa priorité est entre 8 et 10 des 2 autres options, si cette valeur est choisi dans le menu déroulant alors il remplira REEMO_PROXY=EMBEDDED
Assignation à un provider¶
Une image doit être associée à un container provider (Swarm ou Kubernetes) pour être utilisable. Le provider est responsable du déploiement des conteneurs basés sur cette image, en tenant compte également des contraintes de placement.
Liste des providers associés à une image.¶
Lors de l’assignation, vous définissez :
Provider : l’infrastructure cible (Swarm/Kubernetes).
État : Enabled ou Disabled.
Visibilité : Public (utilisable par toutes les organisations) ou Private.
Fenêtre d’assignation d’une image à un provider.¶
Liens entre images¶
Il est possible de lier une image à d’autres images. Lorsqu’un conteneur est lancé à partir de cette image, les conteneurs associés seront automatiquement déployés en parallèle.
Cette fonctionnalité est particulièrement utile si le conteneur principal a besoin de dépendances (exemple : une base de données, un service auxiliaire).
Gestion des liens entre images.¶
Association des Images de conteneurs privées¶
Une Image de conteneur peut être définie en mode Public ou Privé :
Public : disponible automatiquement pour toutes les organisations.
Privé : doit être associée explicitement aux organisations autorisées.
Cela permet de partager facilement des images communes (Public) ou de réserver des environnements spécifiques à certaines organisations (Privé).
Gestion des associations¶
Depuis la section Images d’une organisation, il est possible d’associer une Image de conteneur privée disponible sur un Fournisseur de Conteneur.
Liste des Images de conteneurs associées à une organisation¶
Note
Lorsqu’une image est privée, elle ne sera pas visible pour les organisations tant qu’elle n’a pas été assignée.
Ajout d’une Image de conteneur privée¶
Pour associer une Image de conteneur privée à une organisation :
Cliquer sur Add private image.
Sélectionner le Provider correspondant.
Choisir l’Image à associer.
Enregistrer l’association.
Fenêtre d’association d’une Image de conteneur privée¶
Résumé des bonnes pratiques¶
Toujours activer manuellement une image après son import pour la rendre disponible.
Utiliser l’export/import pour partager ou sauvegarder la configuration complète d’une image.
Créer des variables éditables pour donner de la flexibilité aux administrateurs d’organisation, et réserver les variables statiques pour les paramètres techniques.
Exploiter le champ UI Priority afin d’ordonner intelligemment les options dans le formulaire.
Assigner chaque image à un provider afin de rendre son exécution possible.
Utiliser les liens d’images pour modéliser des environnements complexes multi-conteneurs.
Les Images de conteneurs publiques sont accessibles à toutes les organisations.
Les Images de conteneurs privées nécessitent une association explicite.