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
Installez le paquetage
rhel-system-roles
:[root@control-node]# dnf install rhel-system-roles
Cette commande installe
Ansible Core
en tant que dépendance.Créez un utilisateur que vous utiliserez par la suite pour gérer et exécuter les playbooks :
[root@control-node]# useradd ansible
Passez à l'utilisateur nouvellement créé
ansible
:[root@control-node]# su - ansible
Effectuez le reste de la procédure en tant qu'utilisateur.
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é.
- 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.
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'utilisateurroot
.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 devenirroot
. En spécifiant le paramètrebecome_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
.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.
Ressources supplémentaires
- Étendue de la prise en charge du package Ansible Core inclus dans les référentiels AppStream RHEL 9 et RHEL 8.6 et versions ultérieures
- Comment enregistrer et abonner un système au portail client de Red Hat à l'aide du gestionnaire d'abonnements ?
-
La page de manuel
ssh-keygen(1)
- Se connecter à des machines distantes avec des clés SSH en utilisant ssh-agent
- Paramètres de configuration d'Ansible
- Comment constituer votre inventaire