Chapitre 2. Préparation d'un nœud de contrôle et de nœuds gérés à l'utilisation des rôles système RHEL
Avant de pouvoir utiliser des rôles système RHEL individuels pour gérer des services et des paramètres, vous devez préparer le nœud de contrôle et les nœuds gérés.
2.1. Préparation d'un nœud de contrôle sur RHEL 9
Avant d'utiliser RHEL System Roles, vous devez configurer un nœud de contrôle. Ce système configure ensuite les hôtes gérés à partir de l'inventaire conformément aux playbooks.
Conditions préalables
- RHEL 8.6 ou une version ultérieure est installée. Pour plus d'informations sur l'installation de RHEL, voir Effectuer une installation standard de RHEL 9.
- Le système est enregistré sur le portail client.
-
Un abonnement
Red Hat Enterprise Linux Server
est attaché au système. -
S'il est disponible dans votre compte Portail Client, un abonnement
Ansible Automation Platform
est attaché au système.
Procédure
Installez le paquetage
rhel-system-roles
:[root@control-node]# dnf install rhel-system-roles
Cette commande installe le paquet
ansible-core
en tant que dépendance.NoteDans RHEL 8.5 et les versions antérieures, les packages Ansible étaient fournis via Ansible Engine au lieu d'Ansible Core, et avec un niveau de support différent. N'utilisez pas Ansible Engine car les packages peuvent ne pas être compatibles avec le contenu d'automatisation Ansible dans RHEL 8.6 et les versions ultérieures. Pour plus d'informations, voir É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.
Créez un utilisateur nommé
ansible
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éez une clé publique et une clé 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 : Pour éviter qu'Ansible ne vous demande le mot de passe de la clé SSH à chaque fois que vous établissez une connexion, configurez un agent SSH.
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
NoteLes paramètres du fichier
~/.ansible.cfg
ont une priorité plus élevée et remplacent les paramètres du fichier global/etc/ansible/ansible.cfg
.Avec ces paramètres, Ansible effectue les actions suivantes :
- Gère les hôtes dans le fichier d'inventaire spécifié.
-
Utilise le compte défini dans le paramètre
remote_user
lorsqu'il établit des connexions SSH avec les nœuds gérés. -
Utilise l'utilitaire
sudo
pour exécuter des tâches sur les nœuds gérés en tant qu'utilisateurroot
. - Demande le mot de passe root de l'utilisateur distant à chaque fois que vous appliquez un playbook. Ceci est recommandé pour des raisons de sécurité.
Créez un fichier
~/inventory
au format INI ou YAML qui répertorie les noms d'hôtes gérés. Vous pouvez également définir des groupes d'hôtes dans le fichier d'inventaire. 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.
Prochaines étapes
- Préparez les nœuds gérés. Pour plus d'informations, voir Préparation d'un nœud géré.
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