L'image de base du système d'exploitation de l'image Docker pour OpenText eDirectory est openSUSE Leap 15.4. Le fichier d'archive de l'image OpenText eDirectory doit être téléchargé sur la machine hôte Docker. Après avoir téléchargé le fichier d'archive, il doit être extrait, puis l'image doit être chargée dans le registre Docker local à l'aide des commandes suivantes :
tar -xvf eDirectory_93x_Container.tar.gz docker load --input eDirectory_93x/eDirectory_93x.tar.gz
La commande ci-dessus charge une image Docker nommée edirectory:9.3.x.
Le conteneur Docker pour OpenText eDirectory accepte tous les paramètres de l'utilitaire ndsconfig avec la commande docker run. Pour plus d'informations sur l'utilitaire ndsconfig, reportez-vous à la section Exécution de l'utilitaire ndsconfig pour ajouter ou supprimer le serveur de répliques OpenText eDirectory.
REMARQUE :il n'est pas recommandé de définir le mot de passe à l'aide de l'option -w de l'utilitaire ndsconfig dans la commande docker run. En effet, un mot de passe défini à l'aide de cette option peut être affiché en texte brut avec la commande docker inspect. La spécification du FDN et du mot de passe administrateur dans l'invite permet de configurer les informations d'identificateur de l'administrateur en toute sécurité.
Le conteneur Docker pour OpenText eDirectory utilise les valeurs par défaut pour les paramètres ndsconfig ci-dessous. Par conséquent, vous ne devez pas configurer ces paramètres dans la commande docker run :
Fichier de configuration : /config/eDirectory/inst/conf/nds.conf
Emplacement de l'instance : /config/eDirectory/inst/data/data
Emplacement de la DIB : /config/eDirectory/inst/data/data/dib
REMARQUE :il est important que les données et la configuration de l'instance soient remplies dans le dossier /config du conteneur afin d'activer les fonctionnalités de mise à niveau et de stockage persistant des conteneurs OpenText eDirectory. Pour plus d'informations, reportez-vous à la section Gestion du stockage des données OpenText eDirectory.
L'emplacement par défaut du fichier journal du conteneur OpenText eDirectory est /config/eDirectory/inst/data/log.
Avant de déployer OpenText eDirectory, 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 du conteneur sur on-failure avec 5 comme nombre de tentatives à l'aide du drapeau --restart sur la commande docker run. Les conteneurs doivent être redémarrés manuellement si le daemon Docker sur la machine hôte est redémarré.
Vous ne devez utiliser le conteneur OpenText eDirectory qu'une fois que l'état de santé est Healthy (Sain) lorsque le conteneur est activé. Pour vérifier l'état de santé du conteneur, exécutez la commande suivante :
docker ps --filter status="running"
Les conteneurs Docker comprennent généralement une liste par défaut de fonctions Linux activées. Veillez à ne conserver que les fonctions suivantes activées pour le conteneur OpenText eDirectory et à supprimer les autres fonctions :
AUDIT_WRITE
CHOWN
DAC_OVERRIDE
SETGID
SETUID
NET_BIND_SERVICE
SYS_CHROOT (uniquement en cas d'activation du service SLP)
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 conteneur eDirectory démarre toujours en tant qu'utilisateur non-root (nds). Par mesure de sécurité supplémentaire, activez la réassignation de l'espace de noms utilisateur sur le daemon pour éviter les attaques par élévation de privilèges à partir du conteneur. Pour plus d'informations sur la réassignation de l'espace de noms utilisateur, reportez-vous à la section Isolate containers with a user namespace (Isoler les conteneurs avec un espace de noms).
Vous devez définir l'option --stop-timeout dans la commande Docker run avec une valeur de 180. Cela permet de s'assurer que le service nds reçoit suffisamment de temps pour s'arrêter normalement.
REMARQUE :Si vous utilisez une version autonome antérieure d'OpenText eDirectory, vous ne pouvez pas migrer la configuration vers l'environnement Docker à l'aide d'un conteneur Docker pour OpenText eDirectory 9.3.
Le conteneur Docker pour OpenText eDirectory 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 OpenText eDirectory peuvent être déployés dans un environnement hybride à l'aide du pilote de réseau hôte sous Linux uniquement. Pour plus d'informations sur les réseaux Docker, reportez-vous à la section Configure networking (Configurer la mise en réseau).
REMARQUE :le réseau hôte n'est pas pris en charge sous Windows.
Un environnement hybride est une combinaison de déploiements hérités et basés sur les conteneurs de serveurs OpenText eDirectory dans une même arborescence. Un réseau hybride permet d'introduire des conteneurs Docker pour OpenText eDirectory en toute transparence dans un environnement de production existant qui héberge déjà un déploiement OpenText eDirectory hérité. Dans le cadre de la mise en réseau hôte Docker, les ports de service ne peuvent pas être réutilisés, car la pile réseau de l'hôte est partagée par les déploiements eDirectory hérités et conteneurisés. En outre, un serveur OpenText eDirectory conteneurisé apparaît en tant que serveur OpenText eDirectory hérité pour les clients et les autres serveurs de l'arborescence.
L'exemple suivant indique comment créer une arborescence à l'aide d'un conteneur OpenText eDirectory :
docker run -it --name eDir-container-1 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=host edirectory:9.3.0 new -t docker-tree1 -n novell -S m1 -B 164.99.1.1@524 -o 1028 -O 1030 -L 389 -l 636 --configure-eba-now yes
L'exemple suivant indique comment ajouter un serveur de répliques d'un conteneur OpenText eDirectory à une arborescence existante :
docker run -it --name eDir-container-2 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume2:/config --network=host edirectory:9.3.0 add -t docker-tree1 -n novell -S m2 -B 164.99.10.10@2524 -o 2028 -O 2030 -L 2389 -l 2636 --configure-eba-now yes -p 164.99.1.1@1524
Pour plus d'informations sur EBA, reportez-vous à la section Affichage des informations relatives à l'authentification EBA dans le Guide d'administration d'OpenText™ eDirectory CE 24.4 (v9.3).
La liste ci-dessous décrit les paramètres d'ajout d'un serveur de répliques de conteneur OpenText eDirectory à une arborescence existante.
Tableau 7-1 Description des paramètres de configuration
|
Paramètre de configuration |
Description |
|---|---|
|
--name eDir-container-1 |
Nom du conteneur Docker |
|
--volume eDir-volume1 |
Nom du volume Docker utilisé pour stocker les données OpenText eDirectory |
|
edirectory:9.3.0 |
Image Docker que vous avez téléchargée et chargée. Notez le numéro de version : aucun avertissement ne vous avertit qu'il ne s'agit probablement pas de la version que vous avez téléchargée. |
|
-t docker-tree1 |
Nom de l'arborescence OpenText eDirectory |
|
-n novel |
Conteneur OpenText eDirectory dans lequel l'objet Serveur sera placé |
|
-S m1 |
Nom de l'objet Serveur qui sera créé dans OpenText eDirectory |
|
-B164.99.1.1 |
Adresse IP de l'hôte Docker |
|
-o 1028 |
Port HTTP OpenText eDirectory |
|
-O1030 |
Port HTTPS OpenText eDirectory |
|
-L 389OpenText |
Port LDAP eDirectory |
|
-l 636 |
Port LDAPS OpenText eDirectory |
|
--configure-eba-now Yes |
Yes – install EBA now |
REMARQUE :
Le drapeau --network sert à déployer le conteneur à l'aide du pilote de réseau hôte.
Les numéros de port des services ne doivent pas être répétés entre les conteneurs OpenText eDirectory exécutés sur un même hôte Docker.
Les adresses IP utilisées dans les commandes ci-dessus sont celles de l'ordinateur hôte Docker sur lequel le conteneur doit s'exécuter.
Figure 7-1 Déploiement d'un conteneur OpenText eDirectory 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 OpenText eDirectory qui s'exécutent sur plusieurs hôtes de daemon Docker. Un conteneur OpenText eDirectory dans un réseau superposé défini par l'utilisateur peut être déployé sous Linux et Windows. Le service Docker Swarm doit être utilisé pour joindre les hôtes Docker à un essaim. Les conteneurs OpenText eDirectory qui y sont exécutés peuvent ainsi communiquer en toute transparence. Pour plus d'informations sur le pilote de réseau superposé Docker, reportez-vous à la section Use overlay networks (Utiliser des réseaux superposés).
REMARQUE :les opérations de mise à l'échelle et de planification des fonctions d'un essaim Docker ne sont pas certifiées avec les conteneurs OpenText eDirectory. De plus, la migration des conteneurs OpenText eDirectory sur les hôtes par le service Swarm n'est pas prise en charge.
Un essaim Docker doit être créé avec au moins un hôte Docker configuré en tant que manager (gestionnaire) et les autres hôtes en tant que workers (travailleurs).
Créez un réseau superposé attachable nommé myOverlay.
Ouvrez les ports suivants sur le pare-feu entre les hôtes Docker pour la gestion des grappes et la communication au sein d'un essaim Docker :
Port TCP 2377
Port TCP et UDP 7946
Port UDP 4789
Vous devez assigner aux conteneurs déployés dans un réseau superposé une adresse IP interne statique appartenant au sous-réseau myOverlay.
Pour plus d'informations sur le déploiement d'un essaim et sur la création d'un réseau superposé défini par l'utilisateur, reportez-vous à la section Networking with overlay networks (Mise en réseau avec des réseaux superposés).
Avant de déployer un conteneur OpenText eDirectory dans un réseau superposé défini par l'utilisateur, vous devez tenir compte des recommandations suivantes :
Le serveur de répliques maîtresses du conteneur OpenText eDirectory et ses répliques R/W doivent être déployés au sein d'un même réseau superposé. Les communications avec d'autres serveurs OpenText eDirectory autonomes ou des conteneurs exécutés en dehors du réseau superposé ne sont pas prises en charge.
Il est recommandé de déployer le conteneur Docker pour Identity Console dans le même réseau superposé défini par l'utilisateur à des fins d'administration d'OpenText eDirectory. Pour plus d'informations sur le déploiement des conteneurs Docker pour Identity Console, reportez-vous à la section Installation d'OpenText Identity Console en tant que conteneur Docker.
Pour obtenir les informations détaillées du réseau superposé défini par l'utilisateur, exécutez la commande suivante :
docker inspect myOverlay
La commande suivante indique comment créer une arborescence à l'aide d'un conteneur OpenText eDirectory :
docker run -it --name eDir-container-1 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=myOverlay --ip=10.0.0.5 edirectory:9.3.0 new -t docker-tree1 -n novell -S m1 –B @524 -o 8028 -O 8030 -L 389 -l 636 --configure-eba-now yes
La commande suivante indique comment obtenir l'adresse IP du conteneur OpenText eDirectory créé ci-dessus :
docker inspect eDir-container-1 --format {{.NetworkSettings.Networks.myOverlay.IPAddress}}
Vous pouvez utiliser l'adresse IP affichée en tant qu'adresse_IP_distante lors de l'ajout d'un serveur de répliques de conteneur OpenText eDirectory à l'arborescence.
La commande suivante indique comment ajouter un serveur de répliques d'un conteneur eDirectory à une arborescence existante :
docker run -it --name eDir-container-2 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume2:/config --network=myOverlay --ip=10.0.0.6 edirectory:9.3.0 add -t docker-tree1 -n novell -S m2 –B @524 -o 8028 -O 8030 -L 389 -l 636 --configure-eba-now yes -p <remote_IP_Address>
REMARQUE :
Le drapeau --network sert à déployer le conteneur dans le réseau superposé défini par l'utilisateur nommé myOverlay à l'aide du pilote de réseau superposé.
Dans les exemples ci-dessus, le drapeau --ip sert à assigner une adresse IP interne statique au conteneur appartenant au sous-réseau myOverlay.
L'option -B @524 permet aux services NCP, http et https de se relier à toutes les interfaces disponibles.
Figure 7-2 Déploiement d'un conteneur OpenText eDirectory dans un réseau superposé défini par l'utilisateur