Recherche de site Web

Comment installer et configurer un nœud de contrôle Ansible - Partie 2


Dans la rubrique précédente, vous découvrez les terminologies et les concepts de base d'Ansible. Dans cette rubrique (partie 2 de la série Ansible), nous montrerons comment installer et configurer un nœud de contrôle Ansible sur RHEL 8.

Dans notre configuration, nous allons utiliser 1 serveur Ansible et 2 nœuds Linux distants :

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

Qu'est-ce qu'un nœud de contrôle Ansible ?

Un nœud de contrôle est un serveur Linux sur lequel Ansible est installé et est utilisé pour gérer des hôtes ou des nœuds distants. Ces systèmes distants sont appelés Hôtes gérés ou Nœuds gérés.

Dans la configuration ci-dessus, le nœud de contrôle est le serveur RHEL 8 sur lequel Ansible sera installé et Debian 10 & CentOS 8< sont les hôtes gérés.

REMARQUE : Ansible est uniquement installé sur le nœud de contrôle et non sur les hôtes gérés.

Étape 1 : Installation de Python 3

Par défaut, RHEL 8 est fourni avec Python 3 et vous pouvez vérifier la version de Python installée sur votre serveur en l'exécutant.

python3 -V

Si, pour une raison quelconque, Python3 n'est pas installé, installez-le à l'aide de la commande dnf suivante.

dnf install python3

Si plusieurs versions de Python existent sur votre système RHEL 8, vous pouvez définir Python 3 comme version Python par défaut. en exécutant.

alternatives --set python /usr/bin/python3

Étape 2 : Activer le référentiel RedHat officiel

Après avoir installé Python3, assurez-vous d'avoir activé le référentiel officiel de RedHat pour Ansible comme indiqué ci-dessous.

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

REMARQUE : pour que la commande ci-dessus fonctionne, assurez-vous d'avoir enregistré votre abonnement RHEL 8 pour RedHat.

Étape 3 : Installer Ansible sur RHEL 8

Pour installer Ansible sur le nœud de contrôle qui est notre système RHEL 8, exécutez la commande.

dnf install ansible -y

Une fois installé, vous pouvez vérifier la version d'Ansible installée en exécutant la commande.

ansible --version

Étape 4 : Création d'un fichier d'inventaire d'hôte statique

Jusqu'à présent, nous avons installé avec succès ansible sur le Control Node qui est notre serveur RHEL 8. Les nœuds distants qui doivent être gérés par le nœud de contrôle doivent être définis dans un fichier appelé fichier d'inventaire. Le fichier d'inventaire est un fichier texte brut qui réside sur le nœud de contrôle et comprend les noms d'hôte ou les adresses IP des hôtes distants.

Un fichier hôte statique est un fichier texte brut qui contient une liste de nœuds gérés définis par leurs adresses IP ou noms d'hôte. Créons un fichier statique 'hosts' dans le répertoire /etc/ansible/.

vi /etc/ansible/hosts

Ensuite, définissez un ou plusieurs groupes pour vos hôtes gérés. Nous avons 2 hôtes gérés comme vu précédemment dans la configuration en introduction de ce sujet. Depuis l'installation, le fichier hôte statique sera défini comme suit :

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Enregistrez et quittez le fichier d'inventaire.

Pour répertorier les hôtes gérés, exécutez :

ansible all -i hosts --list-hosts

Jusqu'à présent, nous avons réussi à installer Ansible dans le nœud de contrôle et à définir les hôtes gérés dans un fichier hôte statique résidant sur le nœud de contrôle.

Ensuite, nous allons voir comment nous pouvons gérer ou contrôler nos hôtes distants ou gérés.

Étape 5 : configurer le nœud de contrôle Ansible pour se connecter aux nœuds distants

Pour que le Nœud de contrôle Ansible (RHEL 8) gère les systèmes hôtes distants (Debian 10 et CentOS 8) nous devons configurer une authentification SSH sans mot de passe sur les hôtes distants. Pour que cela se produise, vous devez générer une paire de clés SSH et enregistrer la clé publique sur les nœuds distants.

Sur le nœud de contrôle Ansible, connectez-vous en tant qu'utilisateur normal et générez la paire de clés SSH en exécutant la commande.

su tecmint
ssh-keygen

Ensuite, copiez la clé publique ssh sur les nœuds distants, comme indiqué.

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

Après avoir ajouté les clés publiques à tous nos nœuds distants, nous allons émettre une commande ping depuis le nœud Ansible Control pour nous assurer qu'ils sont accessibles.

ansible -m ping all

D'après le résultat ci-dessus, nous pouvons clairement voir que la commande ping a réussi et nous avons pu tester l'accessibilité à tous les nœuds.

Conclusion

Dans ce guide, nous avons installé et configuré avec succès Ansible sur le nœud de contrôle exécutant RHEL 8. Nous avons ensuite défini les hôtes distants dans un fichier hôte statique et configuré le nœud de contrôle pour connecter et contrôler les hôtes gérés en configurant l'authentification sans mot de passe SSH.