Rechercher

Chapitre 3. Installation d'une réplique de gestion des identités à l'aide d'un playbook Ansible

download PDF

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

3.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

  1. 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.

  2. [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 site replica1.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équences install-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

  3. [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 zone firewalld 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 est public.

    Important

    La 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 variable ipareplica_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

    Scénario 3

    Spécifiez le résolveur DNS à l'aide des options ipaclient_configure_dns_resolve et ipaclient_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

    Note

    La 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.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.