1.3. Préparation d'un nœud de contrôle

RHEL inclut Ansible Core dans le référentiel AppStream avec une portée de support limitée. Si vous avez besoin d'une assistance supplémentaire pour Ansible, contactez Red Hat pour en savoir plus sur l'abonnement Ansible Automation Platform.

Conditions préalables

  • Vous avez enregistré le système sur le portail client.
  • Vous avez attaché un abonnement Red Hat Enterprise Linux Server au système.
  • S'il est disponible dans votre compte Portail Client, vous avez attaché un abonnement Ansible Automation Platform au système.

Procédure

  1. Installez le paquetage rhel-system-roles:

    [root@control-node]# dnf install rhel-system-roles

    Cette commande installe Ansible Core en tant que dépendance.

  2. Créez un utilisateur que vous utiliserez par la suite pour gérer et exécuter les playbooks :

    [root@control-node]# useradd ansible
  3. Passez à l'utilisateur nouvellement créé ansible:

    [root@control-node]# su - ansible

    Effectuez le reste de la procédure en tant qu'utilisateur.

  4. Créer une clé publique et privée SSH

    [ansible@control-node]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ansible/.ssh/id_rsa): password
    ...

    Utilisez l'emplacement par défaut proposé pour le fichier clé.

  5. Facultatif : Configurez un agent SSH pour empêcher Ansible de vous demander le mot de passe de la clé SSH à chaque fois que vous établissez une connexion.
  6. Créez le fichier ~/.ansible.cfg avec le contenu suivant :

    [defaults]
    inventory = /home/ansible/inventory
    remote_user = ansible
    
    [privilege_escalation]
    become = True
    become_method = sudo
    become_user = root
    become_ask_pass = True

    Avec ces paramètres :

    • Ansible gère les hôtes dans le fichier d'inventaire spécifié.
    • Ansible utilise le compte défini dans le paramètre remote_user lorsqu'il établit des connexions SSH aux nœuds gérés.
    • Ansible utilise l'utilitaire sudo pour exécuter des tâches sur les nœuds gérés en tant qu'utilisateur root.

      Pour des raisons de sécurité, configurez sudo sur les nœuds gérés afin d'exiger la saisie du mot de passe de l'utilisateur distant pour devenir root. En spécifiant le paramètre become_ask_pass=True dans ~/.ansible.cfg, Ansible demande ce mot de passe lorsque vous exécutez un playbook.

    Les paramètres du fichier ~/.ansible.cfg ont une priorité plus élevée et remplacent les paramètres du fichier global /etc/ansible/ansible.cfg.

  7. Créez le fichier ~/inventory. Par exemple, voici un fichier d'inventaire au format INI avec trois hôtes et un groupe d'hôtes nommé US:

    managed-node-01.example.com
    
    [US]
    managed-node-02.example.com ansible_host=192.0.2.100
    managed-node-03.example.com

    Notez que le nœud de contrôle doit être en mesure de résoudre les noms d'hôte. Si le serveur DNS ne peut pas résoudre certains noms d'hôtes, ajoutez le paramètre ansible_host à côté de l'entrée de l'hôte pour spécifier son adresse IP.