16.4. Veiller à ce qu'un serveur IdM soit absent mais pas nécessairement déconnecté des autres serveurs IdM
Si vous supprimez un serveur de gestion des identités (IdM) de la topologie, vous pouvez conserver ses accords de réplication intacts à l'aide d'un manuel de jeu Ansible. Le playbook garantit également que le serveur IdM n'existe pas dans IdM, même en tant qu'hôte.
Ignorer les accords de réplication d'un serveur lors de sa suppression n'est recommandé que si les autres serveurs sont des serveurs dysfonctionnels que vous prévoyez de supprimer de toute façon. La suppression d'un serveur qui sert de point central dans la topologie peut diviser votre topologie en deux clusters déconnectés.
Vous pouvez supprimer un serveur dysfonctionnel de la topologie à l'aide de la commande ipa server-del
.
Si vous supprimez le dernier serveur qui sert d'autorité de certification (CA), d'autorité de récupération des clés (KRA) ou de serveur DNS, vous perturbez sérieusement la fonctionnalité de gestion des identités (IdM). Pour éviter ce problème, le livre de jeu s'assure que ces services sont exécutés sur un autre serveur du domaine avant de désinstaller un serveur qui sert d'autorité de certification, d'autorité de récupération des clés (KRA) ou de serveur DNS.
Contrairement au rôle ansible-freeipa
ipaserver
, le module ipaserver
utilisé dans ce playbook ne désinstalle pas les services IdM du serveur.
Conditions préalables
-
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
. -
La connexion
SSH
entre le nœud de contrôle et le serveur IdM défini dans le fichier d'inventaire fonctionne correctement.
Procédure
Naviguez jusqu'à votre répertoire ~/MyPlaybooks/ répertoire :
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Copiez le fichier
server-absent-ignore_topology_disconnect.yml
Ansible playbook situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/server/
:cp /usr/share/doc/ansible-freeipa/playbooks/server/server-absent-ignore_topology_disconnect.yml server-absent-ignore_topology_disconnect-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/server/server-absent-ignore_topology_disconnect.yml server-absent-ignore_topology_disconnect-copy.yml
Copy to Clipboard Copied! -
Ouvrez le fichier
server-absent-ignore_topology_disconnect-copy.yml
pour le modifier. Adaptez le fichier en définissant les variables suivantes dans la section
ipaserver
task et enregistrez le fichier :-
Fixer la variable
ipaadmin_password
au mot de passe de l'IdMadmin
. -
Attribuez à la variable
name
la valeurFQDN
du serveur. L'adresseFQDN
du serveur de l'exemple est server123.idm.example.com. -
Assurez-vous que la variable
ignore_topology_disconnect
est définie suryes
. -
Assurez-vous que la variable
state
est définie surabsent
.
--- - name: Server absent with ignoring topology disconnects example hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure server “server123.idm.example.com” with ignoring topology disconnects ipaserver: ipaadmin_password: "{{ ipaadmin_password }}" name: server123.idm.example.com ignore_topology_disconnect: yes state: absent
--- - name: Server absent with ignoring topology disconnects example hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure server “server123.idm.example.com” with ignoring topology disconnects ipaserver: ipaadmin_password: "{{ ipaadmin_password }}" name: server123.idm.example.com ignore_topology_disconnect: yes state: absent
Copy to Clipboard Copied! -
Fixer la variable
Exécutez le playbook Ansible et indiquez le fichier du playbook et le fichier d'inventaire :
ansible-playbook --vault-password-file=password_file -v -i inventory server-absent-ignore_topology_disconnect-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory server-absent-ignore_topology_disconnect-copy.yml
Copy to Clipboard Copied! - [Facultatif] Assurez-vous que tous les enregistrements DNS du serveur de noms (NS) pointant vers server123.idm.example.com sont supprimés de vos zones DNS. Ceci s'applique indépendamment du fait que vous utilisiez un DNS intégré géré par IdM ou un DNS externe.