L'image de base du système d'exploitation de l'image Docker pour eDirectory est openSUSE Leap 15.1. Le fichier tar de l'image iManager doit être téléchargé sur la machine hôte Docker et l'image doit être chargée dans le registre Docker local à l'aide des commandes suivantes :
# tar xf iManager_320.tar.gz # docker load --input iman320.tar
La commande ci-dessus charge une image Docker nommée iManager:3.2.0.
Avant de déployer iManager, vous devez tenir compte des recommandations suivantes :
Aucune contrainte de ressources n'est définie par défaut pour les conteneurs Docker. Ainsi, chaque conteneur dispose d'un accès à toutes les ressources de l'UC et mémoire fournies par le kernel de l'hôte. Vous devez également vous assurer qu'un conteneur en cours d'exécution ne consomme pas plus de ressources et n'épuise pas les autres conteneurs en cours d'exécution en définissant des limites pour le volume de ressources utilisables par un conteneur.
Le conteneur Docker doit veiller à ce qu'une limite fixe soit appliquée à la mémoire utilisée par le conteneur à l'aide du drapeau --memory dans la commande docker run.
Le conteneur Docker doit veiller à ce qu'une limite soit appliquée à la quantité d'UC utilisée par un conteneur en cours d'exécution à l'aide du drapeau --cpuset-cpus dans la commande docker run.
Le drapeau --pids-limit doit avoir la valeur 300 pour restreindre le nombre de threads du kernel générés à tout moment dans le conteneur. Ceci permet d'éviter les attaques par déni de service (DoS).
Vous devez définir la stratégie de redémarrage de conteneur en cas d'échec sur la valeur 5 à l'aide du drapeau --restart dans la commande docker run.
Les conteneurs Docker comprennent une liste par défaut de fonctions Linux activées. Veillez à ne conserver que les fonctions suivantes activées pour le conteneur iManager et à supprimer les autres fonctions :
AUDIT_WRITE
CHOWN
DAC_OVERRIDE
SETGID
SETUID
FOWNER
SYS_PTRACE (uniquement en cas d'utilisation d'utilitaires faisant appel à la fonction Linux ptrace, comme gdb)
Pour plus d'informations sur l'ajout et la suppression de fonctions, reportez-vous à la section Runtime privilege and Linux capabilities (Privilège d'exécution et fonctions Linux).
Le fichier iManager.env se trouve à l'emplacement /etc/opt/novell/iManager/conf dans le conteneur iManager. Vous trouverez ci-dessous un exemple de fichier de configuration contenant des valeurs par défaut pour les paramètres :
# Certificate Public Key Algorithm # Allowed Values: RSA, ECDSA256, ECDSA384 CERTIFICATE_ALGORITHM=RSA # Cipher Suite # Allowed Values: # For RSA - NONE, LOW, MEDIUM HIGH # For ECDSA256 - SUITEB128ONLY # For ECDSA384 - SUITEB128, SUITEB192 CIPHER_SUITE=NONE # Tomcat Server HTTP Port TOMCAT_HTTP_PORT=8080 # Tomcat Server SSL Port TOMCAT_SSL_PORT=8443 # iManager Authorized User (admin_name.container_name.tree_name) AUTHORIZED_USER=
Pour démarrer un conteneur iManager avec des valeurs autres que celles par défaut pour l'un des paramètres ci-dessus, vous devez créer le fichier iManager.env dans le système de fichiers de l'hôte Docker et effectuer le montage de liaison de ce fichier dans le chemin /etc/opt/novell/iManager/conf dans le conteneur iManager avec l'option --volume. Par exemple :
docker run --name=iMan320 --volume /path/to/iManager.env:/etc/opt/novell/iManager/conf/iManager.env imanager:3.2.0
Pour modifier des paramètres après le démarrage du conteneur, éditez le fichier /path/to/iManager.env, puis redémarrez le conteneur. Pour modifier la configuration d'un conteneur en cours d'exécution, procédez comme suit :
Modifiez le fichier /path/to/iManager.env.
Redémarrez le conteneur à l'aide de la commande docker restart iMan320.
Le conteneur Docker pour iManager prend en charge les pilotes de réseau hôte (Host) et superposé (Overlay) pour le déploiement dans un environnement Docker multi-hôte :
Les conteneurs iManager peuvent être configurés à l'aide du pilote de réseau hôte pour accéder aux serveurs eDirectory déployés sur le réseau. Pour plus d'informations sur les réseaux Docker, reportez-vous à la section Configure networking (Configurer la mise en réseau).
L'exemple suivant montre comment configurer un conteneur iManager à l'aide du pilote de réseau hôte :
docker run -it --name=iMan320 --net=host --restart on-failure:5 --memory="1000M" --cpuset-cpus="2" --volume iManager-volume:/config --volume /path/to/iManager.env:/etc/opt/novell/iManager/conf/iManager.env imanager:3.2.0
REMARQUE :
Le drapeau --net=host sert à déployer le conteneur à l'aide du pilote de réseau hôte.
iManager-volume doit être créé avant le déploiement d'iManager sur le réseau hôte. Pour plus d'informations, reportez-vous à la section Gestion du stockage des données iManager.
Figure 3-1 Déploiement d'un conteneur iManager dans un réseau hôte
Vous pouvez utiliser un réseau superposé défini par l'utilisateur pour créer un réseau distribué de conteneurs eDirectory qui s'exécutent sur plusieurs hôtes de daemon Docker. Un conteneur iManager déployé dans ce réseau superposé peut être utilisé pour gérer l'ensemble de ces serveurs eDirectory. Un réseau superposé défini par l'utilisateur peut être déployé sous Linux et Windows. Assurez-vous que l'hôte Docker iManager fait partie du même essaim Docker que les hôtes Docker eDirectory. Pour plus d'informations sur la procédure de déploiement des conteneurs dans un réseau superposé, reportez-vous à la section Use overlay networks (Utiliser des réseaux superposés).
Avant de déployer un conteneur iManager dans un réseau superposé défini par l'utilisateur, vous devez tenir compte des recommandations suivantes :
Les conteneurs eDirectory et le conteneur iManager doivent être déployés dans le même réseau superposé.
Vous devez publier les ports de conteneur lorsque les ports sont accessibles en dehors du réseau superposé Docker. Docker publie par défaut les ports de conteneur sur 0.0.0.0, ce qui correspond à l'adresse IP joker. Ceci correspond à n'importe quel port entrant possible sur la machine hôte. Les conteneurs Docker doivent être configurés pour publier les ports sur une interface particulière de la machine hôte à l'aide de l'option suivante de la commande docker run :
--publish <Host_IP Address>:host_port:container_port
L'exemple suivant montre comment configurer un conteneur iManager dans un réseau superposé défini par l'utilisateur :
docker run -it --name=iManager320 --net=eDir-overlay-nw --restart on-failure:5 --memory="1000M" --cpuset-cpus="2" --volume iManager-volume:/config --volume /path/to/iManager.env:/etc/opt/novell/iManager/conf/iManager.env --publish 443:8443 imanager:3.2.0
REMARQUE :eDir-overlay-nw correspond au nom du réseau superposé dans l'essaim Docker dans lequel les conteneurs eDirectory sont déployés. Pour plus d'informations sur la configuration d'un réseau superposé dans l'essaim Docker, reportez-vous à la section Use Overlay Networks (Utiliser des réseaux superposés).
Figure 3-2 Déploiement d'un conteneur iManager dans un réseau superposé défini par l'utilisateur