Installer Ansible sur le Control Host
Objectif de cet atelier pratique
- Aborder en détail les différentes manières d'installer Ansible sur les distributions Linux les plus courantes
Control Host vs. Target Hosts
Imaginons le réseau informatique d'un petit lycée local :
- 
1 serveur proxy filtrant 
- 
1 serveur de fichiers 
- 
1 serveur de sauvegardes 
- 
4 postes de travail au secrétariat 
- 
8 postes de travail dans la salle info 
- 
8 ordinateurs portables 
Vous serez peut-être surpris d'apprendre que la collection d'outils Ansible ne sera installée sur aucune de ces machines, du moins dans une configuration classique. En effet, l'administrateur système du lycée utilisera Ansible sur son ordinateur portable sous Linux pour gérer la configuration de tout ce parc informatique.
- 
Dans le jargon d'Ansible, cette machine fait office de Control Host. 
- 
Les machines de l'école (serveurs, postes de travail, portables) sont les Target Hosts. 
- 
Ansible est installé sur le seul Control Host (le portable de l'administrateur système). 
- 
Les Target Hosts ont besoin uniquement de SSH et de Python, et c'est tout. 
- 
Notez bien l'absence de tout agent sur les Target Hosts. 
Théorie vs. pratique
La réalité du terrain est un peu plus complexe, mais je vais éviter de vous embrouiller dès le départ.
Installer Ansible sur le Control Host
En règle générale, Ansible est fourni par les dépôts de paquets des principales distributions Linux. Red Hat Enterprise Linux et son clone Rocky Linux constituent des exceptions peu glorieuses. Dans ce cas, il faudra passer par le dépôt tiers EPEL.
Placez-vous dans le répertoire du premier atelier pratique :
Rocky Linux
Démarrez la VM Rocky Linux :
Connectez-vous à cette VM :
Dans la configuration par défaut de cette distribution, seuls les dépôts officiels sont activés :
$ dnf repolist
repo id           repo name
appstream         Rocky Linux 9 - AppStream
baseos            Rocky Linux 9 - BaseOS
extras            Rocky Linux 9 - Extras
L'ajout du dépôt tiers EPEL peut s'effectuer par l'installation du paquet correspondant :
L'utilisation de ce dépôt nécessite l'activation du dépôt officiel Code Ready Builder (CRB) :
Ansible est désormais disponible et peut être installé :
Vérifiez si l'installation s'est bien déroulée :
Quittez la VM :
Supprimez la VM :
Debian
Démarrez la VM Debian :
Connectez-vous à cette VM :
Mettez à jour les informations sur les paquets :
Ansible est fourni par les dépôts officiels de la distribution :
$ apt-cache search --names-only ansible
ansible - Configuration management, deployment, and task execution system
ansible-core - Configuration management, deployment, and task execution system
ansible-lint - lint tool for Ansible playbooks
...
Installez Ansible :
Vérifiez si l'installation s'est bien déroulée :
Quittez la VM :
Supprimez la VM :
OpenSUSE Leap
Démarrez la VM OpenSUSE :
Connectez-vous à cette VM :
Mettez à jour les informations sur les paquets :
Ansible est fourni par les dépôts officiels de la distribution :
$ zypper search ansible
...
S | Name           | Summary                                    | Type
--+----------------+--------------------------------------------+--------------
  | ansible        | SSH-based configuration management system  | paquet
  | ansible        | SSH-based configuration management system  | paquet source
  | ansible-cmdb   | Ansible Configuration Management Database  | paquet
  | ansible-doc    | Documentation for Ansible                  | paquet
  | ansible-runner | Package for interfacing with Ansible       | paquet
  | ansible-test   | Tool for testing ansible plugin and module | paquet
Installez Ansible :
Vérifiez si l'installation s'est bien déroulée :
Quittez la VM :
Supprimez la VM :
Installer Ansible avec PIP et Virtualenv
Il peut arriver que vous soyez embêté pour installer Ansible :
- 
Votre distribution Linux ne propose pas de paquet Ansible. 
- 
Elle en propose un, mais il est obsolète. 
- 
Les dépôts de paquets tiers ne sont pas une option. 
Dans ce cas, vous pouvez toujours installer Ansible par le biais du gestionnaire de paquets Python PIP (Package Installer for Python). L'approche saine consiste ici à utiliser Virtualenv pour éviter de spammer votre système et créer des conflits avec les paquets Python inclus dans la distribution.
Démarrez la VM Debian :
Connectez-vous à cette VM :
Mettez à jour les informations sur les paquets :
Installez PIP et Virtualenv :
Initialisez l'environnement Virtualenv :
Nommer l'environnement virtuel
Le nom du répertoire est une convention et peut être choisi librement. Tant qu'à faire, j'ai opté pour quelque chose de parlant dans le contexte.
Lancez Virtualenv :
Mettez à jour PIP pour cette première utilisation :
Installez Ansible :
Vérifiez si l'installation s'est bien déroulée :
Quittez l'environnement Virtualenv :
Quittez la VM :
Supprimez la VM :
À vous de jouer !
Challenge n° 1
- 
Démarrez la VM ubuntudepuis le répertoireatelier-01.
- 
Connectez-vous à cette VM. 
- 
Rafraîchissez les informations sur les paquets. 
- 
Recherchez le paquet ansibleavec les options qui vont bien.
- 
Installez le paquet officiel fourni par la distribution. 
- 
Vérifiez si l'installation s'est bien déroulée. 
- 
Notez la version d'Ansible. 
- 
Déconnectez-vous et supprimez la VM. 
Challenge n° 2
Répétez le challenge précédent en configurant un dépôt PPA (Personal Package Archive) pour Ansible :
Notez la version fournie par ce dépôt tiers et comparez avec la version officielle du challenge précédent.
Challenge n° 3
Lancez une VM Rocky Linux et installez Ansible en utilisant PIP et Virtualenv.
Rocky Linux et Virtualenv
Notez bien que contrairement à Debian, le paquet python3-venv n'est pas
nécessaire ici, étant donné que Virtualenv fait partie des modules standard
de Python dans cette distribution.
