Chapitre 26. Installation d'une réplique de gestion des identités à l'aide d'un playbook Ansible
La configuration d'un système en tant que réplique IdM à l'aide d'Ansible l'inscrit dans un domaine IdM et permet au système d'utiliser les services IdM sur les serveurs IdM du domaine.
Le déploiement est géré par le rôle Ansible ipareplica
. Le rôle peut utiliser le mode de découverte automatique pour identifier les serveurs IdM, le domaine et d'autres paramètres. Cependant, si vous déployez plusieurs réplicas dans un modèle de type tiers, avec différents groupes de réplicas déployés à différents moments, vous devez définir des serveurs ou des réplicas spécifiques pour chaque groupe.
Conditions préalables
- Vous avez installé le paquet ansible-freeipa sur le nœud de contrôle Ansible.
Vous comprenez les concepts Ansible et IdM :
- Rôles Ansible
- Nœuds Ansible
- Inventaire Ansible
- Tâches Ansible
- Modules Ansible
- Jeux et carnets de jeu Ansible
Ressources supplémentaires
26.1. Spécification des variables de base, de serveur et de client pour l'installation de la réplique IdM
Suivez cette procédure pour configurer le fichier d'inventaire en vue de l'installation d'une réplique IdM.
Conditions préalables
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
Ouvrez le fichier d'inventaire pour le modifier. Spécifiez les noms de domaine pleinement qualifiés (FQDN) des hôtes qui deviendront des répliques IdM. Les FQDN doivent être des noms DNS valides :
-
Seuls les chiffres, les caractères alphabétiques et les traits d'union (
-
) sont autorisés. Par exemple, les caractères de soulignement ne sont pas autorisés et peuvent entraîner des défaillances du système DNS. Le nom d'hôte doit être en minuscules.
Exemple d'un fichier hosts d'inventaire simple avec seulement le FQDN des répliques défini
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]
Si le serveur IdM est déjà déployé et que les enregistrements SRV sont correctement définis dans la zone DNS IdM, le script découvre automatiquement toutes les autres valeurs requises.
-
Seuls les chiffres, les caractères alphabétiques et les traits d'union (
[Facultatif] Fournissez des informations supplémentaires dans le fichier d'inventaire en fonction de la façon dont vous avez conçu votre topologie :
- Scénario 1
Si vous souhaitez éviter l'autodécouverte et que toutes les répliques répertoriées dans la section
[ipareplicas]
utilisent un serveur IdM spécifique, définissez le serveur dans la section[ipaservers]
du fichier d'inventaire.Exemple de fichier hosts d'inventaire avec le FQDN du serveur IdM et les répliques définies
[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]
- Scénario 2
Par ailleurs, si vous souhaitez éviter la découverte automatique mais déployer des répliques spécifiques avec des serveurs spécifiques, définissez les serveurs pour des répliques spécifiques individuellement dans la section
[ipareplicas]
du fichier d'inventaire.Exemple de fichier d'inventaire avec un serveur IdM spécifique défini pour une réplique spécifique
[ipaservers] server.idm.example.com replica1.idm.example.com [ipareplicas] replica2.idm.example.com replica3.idm.example.com ipareplica_servers=replica1.idm.example.com
Dans l'exemple ci-dessus,
replica3.idm.example.com
utilise le sitereplica1.idm.example.com
déjà déployé comme source de réplication.- Scénario 3
Si vous déployez plusieurs répliques en un seul lot et que le temps vous est compté, le déploiement de répliques à plusieurs niveaux peut vous être utile. Définissez des groupes spécifiques de répliques dans le fichier d'inventaire, par exemple
[ipareplicas_tier1]
et[ipareplicas_tier2]
, et concevez des séquences distinctes pour chaque groupe dans le livre de séquencesinstall-replica.yml
.Exemple de fichier d'inventaire avec des niveaux de répliques définis
[ipaservers] server.idm.example.com [ipareplicas_tier1] replica1.idm.example.com [ipareplicas_tier2] replica2.idm.example.com \ ipareplica_servers=replica1.idm.example.com,server.idm.example.com
La première entrée de
ipareplica_servers
sera utilisée. La deuxième entrée sera utilisée comme option de repli. Lorsque vous utilisez plusieurs niveaux pour déployer les répliques IdM, vous devez avoir des tâches séparées dans le playbook pour déployer d'abord les répliques du niveau 1 et ensuite les répliques du niveau 2 :Exemple d'un fichier playbook avec des jeux différents pour des groupes de répliques différents
--- - name: Playbook to configure IPA replicas (tier1) hosts: ipareplicas_tier1 become: true roles: - role: ipareplica state: present - name: Playbook to configure IPA replicas (tier2) hosts: ipareplicas_tier2 become: true roles: - role: ipareplica state: present
[Facultatif] Fournir des informations supplémentaires concernant
firewalld
et DNS :- Scénario 1
Si vous souhaitez que le réplica utilise une zone
firewalld
spécifique au lieu de la zone par défaut, vous pouvez la spécifier dans le fichier d'inventaire. Cela peut être utile, par exemple, lorsque vous souhaitez utiliser une zonefirewalld
interne pour votre installation IdM au lieu d'une zone publique définie par défaut.Si vous ne définissez pas de zone personnalisée, IdM ajoutera ses services à la zone par défaut
firewalld
. La zone prédéfinie par défaut estpublic
.ImportantLa zone
firewalld
spécifiée doit exister et être permanente.Exemple d'un fichier hosts d'inventaire simple avec une zone
firewalld
personnalisée[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] [ipareplicas:vars] ipareplica_firewalld_zone=custom zone
- Scénario 2
Si vous souhaitez que le réplica héberge le service DNS IdM, ajoutez la ligne ipareplica_setup_dns=yes à la section
[ipareplicas:vars]
. En outre, indiquez si vous souhaitez utiliser des redirections DNS par serveur :-
Pour configurer les transferts par serveur, ajoutez la variable
ipareplica_forwarders
et une liste de chaînes à la section[ipareplicas:vars]
, par exemple : ipareplica_forwarders=192.0.2.1,192.0.2.2 -
Pour ne pas configurer de forwarders par serveur, ajoutez la ligne suivante à la section
[ipareplicas:vars]
: ipareplica_no_forwarders=yes. -
Pour configurer les transitaires par serveur en fonction des transitaires répertoriés dans le fichier
/etc/resolv.conf
du réplica, ajoutez la variableipareplica_auto_forwarders
à la section[ipareplicas:vars]
.
Exemple de fichier d'inventaire avec des instructions pour configurer le DNS et les forwarders par serveur sur les répliques
[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] [ipareplicas:vars] ipareplica_setup_dns=yes ipareplica_forwarders=192.0.2.1,192.0.2.2
-
Pour configurer les transferts par serveur, ajoutez la variable
- Scénario 3
Spécifiez le résolveur DNS à l'aide des options
ipaclient_configure_dns_resolve
etipaclient_dns_servers
(le cas échéant) pour simplifier les déploiements de clusters. Ceci est particulièrement utile si votre déploiement IdM utilise un DNS intégré :Un extrait de fichier d'inventaire spécifiant un résolveur DNS :
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1
NoteLa liste
ipaclient_dns_servers
ne doit contenir que des adresses IP. Les noms d'hôtes ne sont pas autorisés.
Ressources supplémentaires
-
Pour plus d'informations sur les variables
ipareplica
, voir le fichier Markdown/usr/share/ansible/roles/ipareplica/README.md
.