Chapitre 15. Utiliser Ansible pour gérer la topologie de réplication dans IdM
Vous pouvez maintenir plusieurs serveurs de gestion des identités (IdM) et les laisser se répliquer les uns les autres à des fins de redondance afin d'atténuer ou d'empêcher la perte de serveurs. Par exemple, si un serveur tombe en panne, les autres serveurs continuent à fournir des services au domaine. Vous pouvez également récupérer le serveur perdu en créant une nouvelle réplique basée sur l'un des serveurs restants.
Les données stockées sur un serveur IdM sont répliquées sur la base d'accords de réplication : lorsque deux serveurs ont un accord de réplication configuré, ils partagent leurs données. Les données répliquées sont stockées dans la topologie suffixes
. Lorsque deux répliques ont un accord de réplication entre leurs suffixes, ces derniers forment une topologie segment
.
Ce chapitre décrit comment utiliser Red Hat Ansible Engine pour gérer les accords de réplication IdM, les segments de topologie et les suffixes de topologie. Ce chapitre contient les sections suivantes :
- Utiliser Ansible pour s'assurer qu'un accord de réplication existe dans IdM
- Utiliser Ansible pour s'assurer que des accords de réplication existent entre plusieurs répliques IdM
- Utiliser Ansible pour vérifier l'existence d'un accord de réplication entre deux répliques
- Utiliser Ansible pour vérifier qu'un suffixe de topologie existe dans IdM
- Utiliser Ansible pour réinitialiser une réplique IdM
- Utiliser Ansible pour s'assurer qu'un accord de réplication est absent dans IdM
15.1. Utiliser Ansible pour s'assurer qu'un accord de réplication existe dans IdM
Les données stockées sur un serveur de gestion des identités (IdM) sont répliquées sur la base d'accords de réplication : lorsque deux serveurs ont un accord de réplication configuré, ils partagent leurs données. Les accords de réplication sont toujours bilatéraux : les données sont répliquées de la première réplique vers l'autre et de l'autre réplique vers la première.
Cette section décrit comment utiliser un playbook Ansible pour s'assurer qu'un accord de réplication de type domain
existe entre server.idm.example.com et replica.idm.example.com.
Conditions préalables
- Assurez-vous de bien comprendre les recommandations relatives à la conception de votre topologie IdM (voir Connexion des répliques dans une topologie).
-
Vous connaissez le mot de passe de l'IdM
admin
. Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :
- Vous utilisez la version 2.8 ou ultérieure d'Ansible.
-
Vous avez installé le paquetage
ansible-freeipa
sur le contrôleur Ansible. - L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
-
L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre
ipaadmin_password
.
Procédure
Naviguez jusqu'à votre répertoire ~/MyPlaybooks/ répertoire :
$ cd ~/MyPlaybooks/
Copiez le fichier
add-topologysegment.yml
Ansible playbook situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/topology/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegment.yml add-topologysegment-copy.yml
-
Ouvrez le fichier
add-topologysegment-copy.yml
pour le modifier. Adaptez le fichier en définissant les variables suivantes dans la section
ipatopologysegment
task :-
Fixer la variable
ipaadmin_password
au mot de passe de l'IdMadmin
. -
Définissez la variable
suffix
àdomain
ouca
, en fonction du type de segment que vous souhaitez ajouter. -
Définissez la variable
left
avec le nom du serveur IdM que vous voulez être le nœud gauche de l'accord de réplication. -
Définissez la variable
right
avec le nom du serveur IdM que vous voulez être le nœud droit de l'accord de réplication. -
Assurez-vous que la variable
state
est définie surpresent
.
Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Playbook to handle topologysegment hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Add topology segment ipatopologysegment: ipaadmin_password: "{{ ipaadmin_password }}" suffix: domain left: server.idm.example.com right: replica.idm.example.com state: present
-
Fixer la variable
- Enregistrer le fichier.
Exécutez le playbook Ansible. Spécifiez le fichier du livre de jeu, le fichier contenant le mot de passe protégeant le fichier secret.yml et le fichier d'inventaire :
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegment-copy.yml
Ressources supplémentaires
- Voir Explication des accords de réplication, des suffixes de topologie et des segments de topologie.
-
Voir le fichier
README-topology.md
dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/topology
.